Java 序列化指南
Apache Fory™ 提供极速的 Java 对象序列化,基于 JIT 编译和零拷贝技术。当只需要 Java 对象序列化时,这种模式相比跨语言对象图序列化提供更好的性能。
特性
高性能
- JIT 代码生成:高度可扩展的 JIT 框架在运行时使用异步多线程编译生成序列化器代码,通过以下方式提供 20-170 倍的加速:
- 内联变量以减少内存访问
- 内联方法调用以消除虚拟分派开销
- 最小化条件分支
- 消除哈希查找
- 零拷贝:直接内存访问,无中间缓冲区拷贝;行格式支持随机访问和部分序列化
- 变长编码:对整数和长整型进行优化压缩
- 元数据共享:缓存的类元数据减少冗余类型信息
- SIMD 加速:支持 Java Vector API 用于数组操作(Java 16+)
即插即用替代
- 100% JDK 序列化兼容:支持
writeObject/readObject/writeReplace/readResolve/readObjectNoData/Externalizable - Java 8-24 支持:适用于所有现代 Java 版本,包括 Java 17+ 的 record
- GraalVM Native Image:支持 AOT 编译,无需反射配置