FST:兼容JDK的高性能对象序列化开发库

 ,  , 

FST是Java快速序列化的简易替代者。

fast-serialization

  • 快速序列化在速度、大小和兼容性方面对Java序列化进行了重新实现。使用FST序列化时,对原来的代码改动非常小。
  • 副产品包括OffHeap Map、持久化Map、Struct模拟。

主要功能

  • 序列化速度更快,对象变得更小。
  • 简易替代者。类序列化时不需要getters、setters、Constructors和Interfaces;扩展了Outputstream,实现了ObjectInput/ObjectOutput接口。 使用时对原来的代码改动很小。
  • 完全支持JDK序列化的主要功能,例如Externalizable中的writeObject、readObject、readReplace、validation、putField、getField方法,可自定义钩子等等。JDK序列化的对象可以直接用FST处理。
  • 序列化的对象中保留的连接关系图与JDK默认序列化结果保持一致。
  • 通过注解、自定义serializer支持自定义优化。
  • 支持序列化版本(仅2.x支持)
  • JSON序列化/反序列化支持(可选)
  • 条件解码(可根据要求跳过对象/流中部分内容的解码)

支持Java 1.7+(fst 1.63:JDK 1.6)

  • fst 1.x 兼容JDK 1.6(未使用1.7功能)。作者会定期或根据要求将2.x中的修复内容合并到1.x版本。
  • FST-struct功能要求1.7 API

Maven下载

非maven下载地址:https://github.com/RuedigerMoeller/fast-serialization/releases/

注意:修复问题更新到maven中央仓库可能会有一些延迟,请先从这里下载最新的版本。

Maven最新版本:

Maven较早版本(基于JDK 1.6构建、功能较少、速度更快、序列化功能可能更稳定)

文档

使用限制

  • 只支持Java到Java之间序列化,不支持其它语言。
  • 通过内存缓冲进行读写操作提高速度,因此当读写较大文件时 > 100MB 可能会引发问题。
  • 对阻塞式系统直接读写(例如socketinputstream):可在这里了解问题和示例答案。

官方网站:http://ruedigermoeller.github.io/fast-serialization/
开源地址:https://github.com/RuedigerMoeller/fast-serialization

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 1 收藏

资源整理者简介:唐尤华

做自己喜欢的,编程、喝茶、看世界 个人主页 · 贡献了108个资源 · 18 ·    


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer