1 Star 0 Fork 18

李先生 / fse

forked from eric_1989 / fse 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 1.56 KB
一键复制 编辑 原始数据 按行查看 历史

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不是并发安全的。多个线程需要使用多个实例来进行调用。

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

搜索帮助