Java使用Zstandard压缩算法对字节数组进行压缩和解压缩

文章讲述了作者在项目中为节省公网流量采用Netty和Facebook的Zstandard进行数据压缩的经历,分享了Java版Zstd库的引入、使用示例以及压缩性能测试结果。

“不积跬步,无以至千里。”

介绍

最近在做项目的时候,因为项目部署在国外,又是公网的环境,流量费用很贵,所以需要使用Netty对传输的数据进行压缩和

解压缩,准备用Facebook的Zstandard试试性能,听说压缩性能好,还可以根据需求调整压缩比。

然而在网上搜索了一阵子发现,java通过zstd对字节数组做压缩和解压缩的例子很少,仅有的几个给出的API还都是错误的,更别说跑通了,就算使用Gpt3.5和4.0给的的示例也是错误的,所以干脆写篇文章记录一下

引入依赖

首先在pom文件中引入依赖,这里使用比较新的版本,2023/7/17的发布的版本,使用人数也比较多,应该不至于翻车

<dependency>
  <groupId>com.github.luben</groupId>
  <artifactId>zstd-jni</artifactId>
  <version>1.5.5-5</version>
</dependency>

示例代码编写

import com.github.luben.zstd.Zstd;
import java.io.IOException;

public class ZstdTest {
   
   

    // 压缩比,默认为3,最大值为22,值越大,压缩比越高
    public 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值