Java序列化是什么?你知道什么时候需要序列化吗?
Java序列化是什么?你知道什么时候需要序列化吗?
什么是 java 序列化?什么情况下需要序列化?
序列化:将 Java 对象转换成字节流的过程。
反序列化:将字节流转换成 Java 对象的过程。
当 Java 对象需要在网络上传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。
序列化的实现:类实现 Serializable 接口,这个接口没有需要实现的方法。实现 Serializable 接口是为了告诉 jvm 这个类的对象可以被序列化。
注意事项:
- 某个类可以被序列化,则其子类也可以被序列化
- 声明为 static 和 transient 的成员变量,不能被序列化。static 成员变量是描述类级别的属性,transient 表示临时数据
- 反序列化读取序列化对象的顺序要保持一致
具体使用
package constxiong.interview; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; /** * 测试序列化,反序列化 * @author ConstXiong * @date 2019-06-17 09:31:22 */ public class TestSerializable implements Serializable { private static final long serialVersionUID = 5887391604554532906L; private int id; private String name; public TestSerializable(int id, String name) { this.id = id; this.name = name; } @Override public String toString() { return "TestSerializable [id=" + id + ", name=" + name + "]"; } @SuppressWarnings("resource") public static void main(String[] args) throws IOException, ClassNotFoundException { //序列化 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("TestSerializable.obj")); oos.writeObject("测试序列化"); oos.writeObject(618); TestSerializable test = new TestSerializable(1, "ConstXiong"); oos.writeObject(test); //反序列化 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("TestSerializable.obj")); System.out.println((String)ois.readObject()); System.out.println((Integer)ois.readObject()); System.out.println((TestSerializable)ois.readObject()); } }
打印结果:
测试序列化 618 TestSerializable [id=1, name=ConstXiong]
喜欢这篇文章的话,可以给作者点个喜欢,点下关注,每天都会分享Java相关文章!
记得一定要关注我哦,会不定时的福利赠送,包括整理的面试题,学习资料,源码等~~
Java序列化是什么?你知道什么时候需要序列化吗?相关推荐
- Java面试题汇总及答案2021最新(序列化含答案)
Java面试题汇总及答案2021最新(序列化含答案) 为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Jav ...
- 【26天高效学习Java编程】Day22:Java中的属性集-缓冲流-转换流-序列化流详解
本专栏将从基础开始,循序渐进,由浅入深讲解Java的基本使用,希望大家都能够从中有所收获,也请大家多多支持. 专栏地址:26天高效学习Java编程 相关软件地址:软件地址 所有代码地址:代码地址 如果 ...
- java io 对象_JAVA基础知识之IO——对象序列化
对象序列化 Java对象序列化(Serialize)是指将Java对象写入IO流,反序列化(Deserilize)则是从IO流中恢复该Java对象. 对象序列化将程序运行时内存中的对象以字节码的方式保 ...
- Thinking in java 琐碎知识点之 I/O流 、对象序列化
Java I/O流 .对象序列化 1.File类 此类的实例可能表示(也可能不表示)实际文件系统对象,如文件或目录. File类可以新建.删除和重命名文件和目录,但是File不能访问文件本 ...
- Java拾遗:004 - JDK、Hadoop、Hessian序列化
2019独角兽企业重金招聘Python工程师标准>>> JDK序列化 在分布式架构中,序列化是分布式的基础构成之一,我们需要把单台设备上的数据通过序列化(编码.压缩)后通过网络传输给 ...
- android 序列化_Android高级架构进阶之数据传输与序列化
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 本篇文章将从以下几个内容来阐述数据传输与序列化: [Serializable原理 ...
- java-Transient关键字、Volatile关键字介绍和序列化、反序列化机制、单例类序列化
- Transient关键字 Java的serialization提供了一种持久化对象实例的机制.当持久化对象时,可能有一个特殊的对象数据成员,我们不想 用serialization机制来保存它.为 ...
- 关于网络传输序列化这件“小“事(涵盖主流的序列化分析)
文章目录 序列化 如何选择序列化协议 常用的序列化 JDK原生的序列化方式 简单使用 优点 缺点 JSON序列化 简单实用 优点 缺点 Protobuf 简单实用 1. 添加maven依赖 2. 添加 ...
- C# WebApi Xml序列化问题解决方法:“ObjectContent`1”类型未能序列化内容类型“application/xml;charset=utf-8“的响应正文。...
C# WebApi Xml序列化问题解决方法:"ObjectContent`1"类型未能序列化内容类型"application/xml;charset=utf-8&quo ...
- java图片序列化_Java中的强大武器——对象的序列化
原标题:Java中的强大武器--对象的序列化 所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象.这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象, ...
最新文章
- 计算机视觉(CV)的算法有哪些,具体都有哪些特点?
- Android8.0恢复出厂设置失败-BroadcastQueue: Background execution not allowed
- 【OpenCV3】图像最大轮廓检测——cvFindBiggestContour()封装
- 智能计算升级背后:华为“不想再搬砖”
- 笔记-高项案例题-2018年下-项目管理-项目集管理-项目组合管理
- 【笔记】opencv图像运算 图像加密
- Android之程序反复回调一个类的解决办法
- python kotlin_Java和Python中类似Kotlin的生成器,续:附加参数
- Infor与Marketo®合作,帮助全球企业实现客户体验变革
- 搜狗2011笔试题+答案解析
- Spring框架学习[IoC容器高级特性]
- 织梦++高级搜索php,织梦高级搜索页面advancedsearch.php调用自定义字段
- Linux操作系统基本命令
- java mysql 分页计算公式_关于Java的分页算法,急!
- 2数据库表增加一个字段_详解PostgreSQL用户、数据库及表的管理、操作与授权
- Why can't Gmail forward outgoing mail?
- Linux驱动开发|音频驱动
- 微信无法登陆,您绑定的QQ号疑似被盗解决方案
- html5自闭合标签有哪些,自闭合标签与伪元素
- 配置Tomcat详细教程!
热门文章
- javascript 时间戳判断日期
- 大话主席(superslide和 touchslide)插件的使用
- monkeyrunner屏幕滑动
- Windows CMD PowerShell ,Set-Location : 找不到接受实际参数“Hub\resources”的位置形式参数。
- openstack之Cinder
- java中border布局_java中BorderLayout的使用方法
- 保护眼睛的好方法(转载)
- 如何制作好的油封密封件?
- wordcloud参数
- Amazon开发技术图书春季排行榜观察与分析