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

    序列化

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/freesfu/p/13760932.html
Copyright © 2011-2022 走看看