【Java基础面试题04】序列化相关

1 java对象为什么要序列化

在JVM停止后,如果需要把这些对象保存到磁盘或者通过网络传输到另一远程机器,就需要把这些对象转化为字节数组,这个转换为字节数组的过程就是序列化。

注意:

  • static静态变量和transient 修饰的字段不会被序列化。
  • serialVersionUID问题。
  • 如果某个序列化类的成员变量是对象类型,则该对象类型的类必须实现序列化。
  • 子类实现了序列化,父类没有实现序列化,父类中的字段丢失问题。

2 在 Java ,Serializable Externalizable 有什么区别?

Externalizable继承了Serializable,给我们提供 writeExternal() 和 readExternal() 方法, 让我们可以控制 Java的序列化机制, 不依赖于Java的默认序列化。正确实现 Externalizable 接口可以显著提高应用程序的性能。

版权声明:
作者:jackqiang
链接:http://www.jackqiang.com/interview/interview-javase/1981/serializable/
来源:JackQiang's
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录