我需要压缩我们应用程序的部分网络流量以提高性能。我想这意味着我需要远离一些较新的算法,例如 bzip2,我想我听说它速度较慢。
最佳答案
您可以使用 Deflater/Inflater它内置于 JDK 中。还有 GZIPInputStream 和 GZIPOutputStream,但这实际上取决于您的具体用途。
编辑:
阅读更多评论,网络流量似乎是 HTTP。根据服务器的不同,它可能支持压缩(尤其是使用 deflate/gzip)。然后问题就出现在客户端上。如果客户端是浏览器,它可能已经支持它。如果您的客户端是网络服务客户端或 http client检查该包的文档以查看它是否受支持。
看起来 jakarta-commons httpclient 可能需要您手动进行压缩。要在客户端启用此功能,您需要执行以下操作
.addRequestHeader("Accept-Encoding","gzip,deflate");
关于java - 什么是好的 Java 压缩库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/127001/