美文网首页
java序列化

java序列化

作者: Chentt的技术博客 | 来源:发表于2016-03-29 20:48 被阅读43次

what is 序列化?

java对象只有当jvm运行的时候才存在,但是在现实中需要jvm不运行的时候也能用java对象,所以要将对象序列化成持久对象。

对象序列化,就是将对象存储成字节,当需要用的时候再组装成对象。序列化只保存对象的“状态”,不会关注类中的静态变量。

除了持久化对象,当RMI(远程方法调用)时也需要序列化。

实现java.io.serializable接口即可实现序列化。

transient关键词

实际应用中为乐简化序列化或者是避开敏感词,声明为transient的字段就可以不被序列化。

序列化中使用objectinputstream/objectoutstream进行对象传输。writeobject/readobject方法用于将声明为transient的字段进行默认序列化,主要是对象读写功能,调用的是objectinputstream/objectoutstream里面的方法。

Externalizable接口

另外一种序列化方法。继承自Serializable,但是里面的方法必须程序员自己去写。

另外,使用Externalizable进行序列化时,当读取对象时,会调用被序列化类的无参构造器去创建一个新的对象,然后再将被保存对象的字段的值分别填充到新对象中。这就是为什么在此次序列化过程中Person类的无参构造器会被调用。由于这个原因,实现Externalizable接口的类必须要提供一个无参的构造器,且它的访问权限为public。

无论是实现Serializable接口,或是Externalizable接口,当从I/O流中读取对象时,readResolve()方法都会被调用到。实际上就是用readResolve()中返回的对象直接替换在反序列化过程中创建的对象。

抽象很。。。

相关文章

  • Java-序列化-反序列化

    Thanks Java基础学习总结——Java对象的序列化和反序列化java序列化反序列化原理Java 序列化的高...

  • java序列化那些事儿

    java序列化作用 在说java序列化的作用之前,先说下什么是java序列化吧。java序列化是指把java对象转...

  • Java序列化

    Java序列化的几种方式以及序列化的作用 Java基础学习总结——Java对象的序列化和反序列化

  • Java序列化机制

    Java序列化机制 序列化和反序列化 Java序列化是Java内建的数据(对象)持久化机制,通过序列化可以将运行时...

  • Java 序列化 之 单例模式

    序列化相关文章: Java 序列化 之 Serializable Java 序列化之 Externalizable...

  • java 序列化 原理解析

    序列化相关文章: Java 序列化 之 Serializable Java 序列化之 Externalizable...

  • 认识Java序列化

    我的个人博客,认识Java序列化 引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java ...

  • JDK 序列化

    序列化和分序列化概念 什么是序列化和反序列化 Java序列化是指把Java对象转换为字节序列的过程,而Java反序...

  • Spark序列化

    Java序列化 有关Java对象的序列化和反序列化也算是Java基础的一部分,首先对Java序列化的机制和原理进行...

  • Serializable中为什么要设置UID

    1、什么是Java序列化与反序列化 Java序列化是指把Java对象保存为二进制字节码的过程,Java反序列化是指...

网友评论

      本文标题:java序列化

      本文链接:https://www.haomeiwen.com/subject/sguslttx.html