Score
0
Watch 25 Star 65 Fork 11

eric_1989 / fseJavaApache-2.0

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
Java序列化框架,可以任意Java对象序列化为字节数组并且完成反序列化。支持任意Java类型,序列化的对象不需要特殊接口即可。 性能测试显示,序列化性能约为Kryo的2.3倍,反序列化性能约为Kryo的1.4倍。 spread retract

https://eric_ds.gitee.io/

Clone or download
Loading...
README.md

Fse

介绍

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

欢迎加入技术交流群186233599讨论交流,也欢迎关注笔者公众号:风火说。

性能测试

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

使用说明

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

<dependency>
    <groupId>com.jfirer</groupId>
    <artifactId>Fse</artifactId>
    <version>1.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));

Fse不是并发安全的。多个线程需要使用多个实例来进行调用。

Comments ( 21 )

Sign in for post a comment

Java
1
https://gitee.com/eric_ds/fse.git
git@gitee.com:eric_ds/fse.git
eric_ds
fse
fse
master

Help Search