java IO流序列化的概念

2026-01-29 0 8,207

在存储的时候,把字节转换成对象教序列化的使用。如果想把字节换回来,就要运用到反序列化的概念。IO流中的序列化用于处理字节序列的问题,需要我们先对IO流序列化的概念、图解、使用场景进行了解,在了解基本概念后,我们进一步学习IO流序列化的构造方法。

1.概念

Java 提供了一种对象序列化的机制,用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中 持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行 反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。

2.图解

3.使用场景

1)所有需要网络传输的对象都需要实现序列化接口,通过建议所有的javaBean都实现Serializable接口。

2)对象的类名、实例变量(包括基本类型,数组,对其他对象的引用)都会被序列化;方法、类变量、transient实例变量都不会被序列化。

3)如果想让某个变量不被序列化,使用transient修饰。序列化对象的引用类型成员变量,也必须是可序列化的,否则,会报错。

4)反序列化时必须有序列化对象的class文件。

5)当通过文件、网络来读取序列化后的对象时,必须按照实际写入的顺序读取。

6)单例类序列化,需要重写readResolve()方法;否则会破坏单例原则。

7)同一对象序列化多次,只有第一次序列化为二进制流,以后都只是保存序列化编号,不会重复序列化。

8)建议所有可序列化的类加上serialVersionUID 版本号,方便项目升级。

4.构造方法

public ObjectOutputStream(OutputStream out) : 创建一个指定OutputStream的ObjectOutputStream。
FileOutputStream fileOut = new FileOutputStream("employee.txt");
ObjectOutputStream out = new ObjectOutputStream(fileOut);

以上就是java IO流序列化的概念学习,可以用于字符与对象的转换,在用法上有序列化和反序列化两种,想要学习的可以在课后找资料了解。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 java教程 java IO流序列化的概念 https://www.zhiup.top/11126.html

相关