什么是DEFAULT_COMPRESSION?

kol*_*vra 13 java gzip zlib deflate

在可能的DEFLATE压缩级别[0 .. 9]中,哪一个Deflater.DEFAULT_COMPRESSION与Java完全对应?在Java源代码中,我将其视为public static final int DEFAULT_COMPRESSION = -1;

Mar*_*ler 14

Z_DEFAULT_COMPRESSION旨在成为速度和压缩效率之间的良好折衷.这是曲线上的膝盖.它当前等效的实际级别,6,是一个内部选择,如果压缩算法发生变化,可能会在未来版本中更改.所以你不应该依赖它仍然等同于6级.


msz*_*ach 13

java代码使用new ZStreamRef(init(level, DEFAULT_STRATEGY, nowrap)); init方法是本机调用的类,ZStreamRef是对zlib的引用.所以它是zlib默认使用的东西.在版本1.2.8中,默认值为6,如devnull所述.

从zlib手册

Compression levels.
#define Z_NO_COMPRESSION         0
#define Z_BEST_SPEED             1
#define Z_BEST_COMPRESSION       9
#define Z_DEFAULT_COMPRESSION  (-1)
...
 Z_DEFAULT_COMPRESSION requests a default compromise between speed and compression (currently equivalent to level 6).
Run Code Online (Sandbox Code Playgroud)