JAVA - 序列化的方式
JAVA - 序列化的方式
序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化目的:
-
以某种存储形式使自定义对象持久化;
-
将对象从一个地方传递到另一个地方。
-
使程序更具维护性。
(1)Java原生序列化
在类中实现Serializable接口,通过objectinputstream进行序列化等
建议指定 serialVersionUID 字段避免版本升级造成序列化和反序列化失败
(2)Hessian序列化
Hessian 序列化是一种支持动态类型、跨语言、基于对象传输的网络协议。
特性:
- 语言无关
- 比 java 原生序列化实现高效
- 可以压缩数据(通过黑塞矩阵)
(3)Json序列化
通过 JSON 静态类进行序列化,转成 JSON 字符串。