首页 > 编程语言 > 详细

Java--ObjectInputStream和ObjectOutputStream

时间:2020-06-20 15:30:30      阅读:51      评论:0      收藏:0      [点我收藏+]

1.这两个输入输出流的作用?

  将Java对象写入到文件当中

2.什么是序列化和反序列化?

  序列化:将 Java对象 由内存中写入 文件

  反序列化:将 Java对象 由文件中读出来(读出来的对象可以使用多态机制,用一个object引用来指向)

3.待序列化的类要implements一个标识接口,Serializable。标识接口中没有定义任何的方法,只是起到标识的作用。JVM如果看到某个对象实现了某个标识接口,会对它特殊待遇

  --“特殊待遇”:jvm会在创建对象的时候,给这个类添加一个属性: static  final  long  serialVersionUID  (序列化版本号)

4.在序列化存储对象的时候,JVM会生成一个序列化版本号。当这个类进行后续的升级变动之后,再使用的时候会生成一个新的序列化版本号。当两个序列化版本号不一致的时候,JVM会认为这是两个不兼容的类,就会报错

  --解决办法:在创建要序列化的类的时候,就手动在类中创建一个序列化版本号的成员变量。这样就不会再产生兼容性的问题

 

5.如果不想让某属性参与序列化,使用transient关键字修饰即可。这样在反序列化的时候,该属性哪怕之前已经赋值,也会指向null

Java--ObjectInputStream和ObjectOutputStream

原文:https://www.cnblogs.com/RosemaryJie/p/13168737.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!