MJDK 如何实现压缩速率的 5 倍提升?
原文中文,约5800字,阅读约需14分钟。发表于: 。MJDK 是基于 OpenJDK 构建的美团 JDK 发行版。本文主要介绍 MJDK 是如何在保障 java.util.zip.* API 及压缩格式兼容性的前提下,实现压缩/解压缩速率提升 5-10 倍的效果。希望相关的经验能够帮助到更多的技术同学。
数据压缩技术在计算机领域有广泛应用,主要分为无损压缩和有损压缩两类。Java应用中常用的压缩工具和压缩函数库都是无损压缩技术的应用。美团基础研发平台开发了基于Intel的isa-l库优化的gzip压缩工具和zlib压缩库,压缩速度提升10倍,解压缩速度提升2倍。但由于JDK对压缩库调用的底层设计限制,公司Java8服务无法使用优化后的zlib库。为了解决这个问题,MJDK最新版本集成了优化后的zlib库,将内存数据压缩速率提升5-10倍。本文介绍了该特性的技术原理。