zoukankan      html  css  js  c++  java
  • 序列化

    序列化

    序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

    将java对象从文件中恢复称为 反序列化 DeSerializetion。

    参与序列化和反序列化的对象必须实现Serializeable接口。

    Serializeable只是一个标志性接口,java虚拟机看到了类实现了这个接口。jvm会默认提供这个序列化版本号。

    当你想序列化多个对象,可以将多个对象装载到一个集合(或其他容器)。集合元素以及集合都需要实现Serializeable接口。

    如果希望一些属性不参加序列化(不将数据存储到磁盘)。可以添加Transient属性。

    java比较序列化对象的主要从两个方面来区分:

    1. 类名
    2. 序列化版本号

    当实现了Serialize接口以后,java会自动生成序列化版本号。但是自动生成序列化版本号存在有缺点。

    也就是不能修改类代码,因为单例修改了类代码之前序列化的对象会被认为和这个类不同,因为尽管类名相同,但是由于修改了类代码,序列化版本号被重新提供了。所以凡是实现了Serializable接口的类建议自己指定序列号版本号。

  • 相关阅读:
    PHP安全
    使用 jQuery 简化 Ajax 开发
    我的云之旅–HBase调试(139)
    Java的性能调优
    libsqlite3.dylib与libsqlite3.0.dylib区别
    zookeeper code
    最近的一个框架
    我的云之旅–Lucene内容存储进入Hadoop(136)
    Linux源码阅读推荐阅读图书
    我的云之旅–HMaster启动说明(140)
  • 原文地址:https://www.cnblogs.com/freesfu/p/13760932.html
Copyright © 2011-2022 走看看