DEFAULT_COMPRESSION到底是什么?
在可能的 DEFLATE 压缩级别 [0 .. 9] 中,Java 究竟对应于哪一个?在Java源代码中,我认为它是Deflater.DEFAULT_COMPRESSION
public static final int DEFAULT_COMPRESSION = -1;
在可能的 DEFLATE 压缩级别 [0 .. 9] 中,Java 究竟对应于哪一个?在Java源代码中,我认为它是Deflater.DEFAULT_COMPRESSION
public static final int DEFAULT_COMPRESSION = -1;
Z_DEFAULT_COMPRESSION
旨在实现速度和压缩效率之间的良好折衷。它是曲线中的膝盖。它当前等效的实际级别 6 是一个内部选择,如果压缩算法发生更改,该选择可能会在将来的版本中更改。因此,您不应依赖它保持相当于6级的水平。
java 代码使用的类 init 方法是本机调用,ZStreamRef 是对 zlib 的引用。因此,它曾经是zlib用作默认值的。在版本1.2.8中,默认值为6,如devnull所述。new ZStreamRef(init(level, DEFAULT_STRATEGY, nowrap));
来自 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).