Java三种序列化方法对比

概述

序列化是讲对象转为字节流、反序列化是讲字节流转换回java。序列化对存储和传输对象非常有效。 文中对三种常见的序列化方法进行讨论

Java原生序列化

将需要序列化的类实现Serializable接口后,使用ObjectInputStream和ObjectOutputStream就能实现反序列化和序列化。

缺点:三种序列化方法中最低效的一种。

JSON

很多JSON类库,Google的GSON , Alibaba的FastJSON。个人喜欢用FastJSON、
不需要写一堆的Getter和Setter。它可以读取public的属性

优点: 很快,具备可读性 ,不需要对要序列化的类做特殊处理。

Google 的protobuf

三种方法中效率最高的一种。但需要些probuf配置文件,描述一个类应当如何进行序列化。 使用baidu提供的 jProtobuf可以通过标注的形式简化这一过程。
https://github.com/jhunters/jprotobuf

缺点:需要配置或者标注。
优点:压缩效率极高。速度极快。

猜你喜欢

转载自blog.csdn.net/taiji1985/article/details/79327921