fast-serialization
简介
FST 是一个快速的 Java 序列化替代库。
特性
- 速度提升高达 10 倍,100% 兼容 JDK 序列化的替代品(好吧,可能是 99%)。例如:1.8 版引入的 Lambda 序列化立即生效。
- 自 2.17 版起兼容 Android(在服务器和客户端上使用 FSTConfiguration.createAndroidDefaultConfiguration()。配置对象必须传递给 FSTObjectIn/Output 构造函数)。
- 支持 OffHeap Maps,持久 OffHeap maps。
- FSTStructs 非常类似于 IBM 的打包对象。 不同之处在于:你可以在今天使用 Oracle JDK 运行它。
- 可选地将任何 Serializable 对象图编/解码为 JSON(包括共享引用)(自 2.29 起)以实现互操作性。
- 自 2.17 起使用 Apache 2.0 许可。
使用案例
Maven 引入
<dependency>
<groupId>de.ruedigermoeller</groupId>
<artifactId>fst</artifactId>
<version>2.56</version>
</dependency>
简单使用
由于我经常看到人们使用 ByteArrayOutputStreams 等(非常低效),所以这里是使用快速序列化的最简单方法(线程安全)。
static FSTConfiguration conf = FSTConfiguration.createDefaultConfiguration();
// 也许在配置中注册最常用的类
[...]
// 写入
byte barray[] = conf.asByteArray(mySerializableObject);
[...]
// 读取
MyObject object = (MyObject)conf.asObject(barray);