Skip to content
/ Fse Public

高性能Java序列化框架,可以任意Java对象序列化为字节数组并且完成反序列化。支持任意Java类型,序列化的对象不需要特殊接口即可。 a high speed java serialize library

License

Notifications You must be signed in to change notification settings

visithink/Fse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fse

介绍

高性能Java序列化框架,可以任意Java对象序列化为字节数组并且完成反序列化。支持任意Java类型,序列化的对象不需要特殊接口即可。

性能测试

使用业务场景下常见对象进行性能验证,对象内部包含基本属性,字符串,以及其构成的数组和List、Map接口等,在收集性能数据之前首先进行一次序列化操作保证预热。对比数据如下

使用说明

首先在Pom文件中引入依赖,如下

<dependency>
    <groupId>com.jfireframework</groupId>
    <artifactId>fse</artifactId>
    <version>aegean-2.0</version>
</dependency>

API 使用方式如下

Fse fse = new Fse();
TestData data = new TestData();
//创建一个二进制数组容器,用于容纳序列化后的输出。容器大小会在需要时自动扩大,入参仅决定初始化大小。
ByteArray buf = ByteArray.allocate(100);
//执行序列化,会将序列化对象序列化到二进制数组容器之中。
fse.serialize(data, buf);
//得到序列化后的二进制数组结果
byte[] resultBytes = buf.toArray();
//清空容器内容,可以反复使用该容器
buf.clear();
//填入数据,准备进行反序列化
buf.put(resultBytes);
TestData result = (TestData) fse.deSerialize(buf);
assertTrue(result.equals(data));

注意

2.0 版本引入了新的优化机制,产生的字节数据与 1.x 系列有一定区别,两者之间无法兼容。建议直接使用 2.0 版本,性能更好。

About

高性能Java序列化框架,可以任意Java对象序列化为字节数组并且完成反序列化。支持任意Java类型,序列化的对象不需要特殊接口即可。 a high speed java serialize library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages