序列化和反序列化
序列化和反序列化
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
serialVersionUID
serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastException。
Transient
transient关键字实现对指定变量的非序列化 ,适用与一些不希望被存储的信息。这些信息对应的变量就可以被定义为transient类型。简单地来说这个字段的生命周期仅存于调用者的内存中。一个静态变量不管是否被transient修饰,均不能被序列化