java序列化
保存内存对象的状态,包括对象的属性值,但不包括方法和static变量(因为static修饰的变量是属于类而不隶属于对象),以及用transient关键字修饰的变量(transient是禁止序列化的标识,效果等同于static修饰的变量).
java反序列化
是与java序列化相对的,表示从磁盘或者其他介质中读取序列化对象的内容.
java序列化的应用场景
内存中的对象保存到磁盘文件中
网络传输对象,比如Socket套接字传输
通过RMI(Remote Method Invoke 远程方法调用)传输对象,如android中的AIDL
java如何实现序列化
Serializable序列化的空接口,这个序列化很简单,类直接实现就可以了,记住要添加或者保留序列化版本号serialVersionUID,否则可能会造成反序列化失败.
Parcelable接口,android特有的序列化存储,传输效率高,需要实现里面的抽象方式,实现起来比较麻烦.
Parcelable的性能比Serializable好,在内存开销方面较小
网友评论