Java三种序列化方法对比
2018-02-15 12:00
633 查看
概述
序列化是讲对象转为字节流、反序列化是讲字节流转换回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
缺点:需要配置或者标注。
优点:压缩效率极高。速度极快。
相关文章推荐
- Java中数组转List的三种方法与对比分析
- Android中传递对象的三种方法以及Java对象的序列化和反序列化实践
- java中创建线程三种方法及对比
- java 用new语句创建(实例化)对象的三种方法的性能对比
- JAVA NIO(三) 三种文件的复制方法与效率对比
- Java Swing 中三种事件处理方法之比较
- java序列化的引用问题以及将transitent的序列化方法
- 使用Java解析网络数据流的三种特殊方法
- 使用Excel“自动化”功能将数据输出到Excel的三种高效方法对比实验
- java中判断字符串是否为数字的三种方法
- PIM Sparse-Mode 中 RP 的三种定义方法(static、AutoRP、BSR)对比
- java中判断字符串是否为数字的三种方法
- Java中实现list显示的三种方法
- JAVA中三种URL连接方法
- Java解析网络数据流的三种特殊方法
- Java解析网络数据流的三种特殊方法
- Java解析网络数据流的三种特殊方法
- 使用Excel“自动化”功能将数据输出到Excel的三种高效方法对比实验
- Java中实现list显示的三种方法
- Java Swing 中三种事件处理方法比较