高性能Java序列化框架Fse发布

高性能Java序列化框架Fse发布

使用场景

将Java对象序列化为二进制数据进行保存,以及二进制数据反向序列化为Java对象,在很多场景中都有应用。比如将对象序列化后离线存储至其他介质,或者存储于Redis这样的缓存之中。

目前常见的有几种框架可以支撑,比如 Hession ,Kryo,Protobuf,JDK原生等。有一些框架需要提前编写元数据配置文件以支撑跨语言序列化能力,比如 Protobuf 。不过如果团队的技术栈是统一的 Java 体系的话,则能够开箱即用的序列化框架使用起来会更加方便一些,特别有些时候对象特别复杂,编写元数据配置文件也是很繁琐的一个事情。

Fse 框架正是应用于这样的场景,不需要编写元数据配置信息,开箱即用的 Java 序列化框架,对需要序列化的对象没有任何特殊要求。在性能基准测试中,该框架的性能表现显著优于其他框架,下面是测试对比

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

使用说明

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

<dependency>
    <groupId>com.jfireframework</groupId>
    <artifactId>fse</artifactId>
    <version>aegean-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));

开源地址

Gitee:https://gitee.com/eric_ds/fse

Github:https://github.com/linbin-eric/Fse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
fse是一个Node.js模块,用于处理文件系统操作。它提供了许多方法来执行文件和文件夹的创建、读取、写入、删除等操作。Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,用于构建服务器端应用程序。它提供了许多内置模块和API,使开发者能够进行各种操作,包括文件系统操作。 在Node.js中,可以使用fse模块来执行各种文件系统操作,例如创建文件夹、复制文件、移动文件、删除文件等。这些操作可以帮助开发人员轻松地管理文件系统。此外,Node.js还提供了其他有用的模块和功能,如http模块用于构建Web服务器,fs模块用于处理文件操作,以及path模块用于处理文件路径等。 Node.js还支持许多其他功能,如异步编程、事件驱动编程和模块化开发。Promise、Async和ES6是在JavaScript中用于处理异步操作的重要概念和技术。Promise是一种用于处理异步操作的对象,它可以表示一个操作的最终完成或失败,并可以通过链式调用来处理操作的结果。Async/await是一种基于Promise的语法糖,它使开发者能够以同步的方式编写异步代码,提高了代码的可读性和可维护性。ES6是ECMAScript 6的缩写,也称为ES2015,它是JavaScript的一种新版本,引入了许多新的语法和功能,如箭头函数、解构赋值、模板字面量等。这些新功能使开发者能够更高效地编写代码。 总之,fse是Node.js的一个模块,用于处理文件系统操作,而Node.js本身是一个基于Chrome V8引擎的JavaScript运行时环境。Promise、Async和ES6是JavaScript中用于处理异步操作的重要概念和技术。在Node.js中,可以使用fse模块来执行文件系统操作,并结合Promise、Async和ES6来处理异步操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值