1 Star 0 Fork 16

李先生 / fse

forked from eric_1989 / fse 
Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
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不是并发安全的。多个线程需要使用多个实例来进行调用。

Repository Comments ( 0 )

Sign in to post a comment

About

Java序列化框架,可以任意Java对象序列化为字节数组并且完成反序列化。支持任意Java类型,序列化的对象不需要特殊接口即可。 性能测试显示,序列化性能约为Kryo的2.3倍,反序列化性能约为Kryo的1.4倍。 expand collapse
Java
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
Java
1
https://git.oschina.net/levia_javazum/fse.git
git@git.oschina.net:levia_javazum/fse.git
levia_javazum
fse
fse
master

Search