美文网首页
JAVA 对象序列化

JAVA 对象序列化

作者: Coca_Cola_717b | 来源:发表于2019-01-23 18:20 被阅读0次

    1.概念:允许把内存中的JAVA 对象转换为与平台无关的二进制流,从而允许把这种二进制流持久的保存在硬盘上,或通过网络将这种二进制流传输到另一个网络节点,当其他程序获取了这种二进制流,可以恢复成原来的JAVA对象

    2.序列化的好处在于可以将任何实现Serializable接口的对象转换为字节数据,使其在保存和传输时可以被还原

    3.序列化是RMI(Remote Method lnvoke-远程方法调用)过程的参数和返回值都必须实现的机制,而RIM是JAVAEE的基础。因此序列化机制是JAVAEE平台的基础

    4.想要对象序列化,那么对应的类必须实现Serializable或Externalizable接口(其中之一)

    ps:static 或者 transient 修饰的属性无法被序列化,不会报错,但是读取的时候值为null

    凡是实现了Serializable接口的类 都有一个表示序列化版本标识符的静态常量

    private static final long serialVersionUID

    serialVersionUID用来表明类的不同版本的兼容性

    如果类没有定义这个变量,那么它的值是JAVA运行时环境根据类的内部细节自动生成,若类的源代码做了修改那么serialVersionUID可能会变

    作用

    希望类的不同版本对序列化兼容,因此要确保类的不同版本具有相同的serialVersionUID

    不希望类的不同版本对序列化兼容,因此要确保类的不同版本具有不同的serialVersionUID

    白话文:假如在磁盘的文件中写入一个对象没有给serialVersionUID值的话 java 会自动给它一个 如果类的内容发生修改 那么他的serialVersionUID会变 ,之前的那个可能就找不到了

    相关文章

      网友评论

          本文标题:JAVA 对象序列化

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