Sinse GZIPOutputStream
是DeflaterOutputStream
的子类,其中包含protected Deflater def
,它会覆盖finalize
方法,但内存占用量非常大。
public
class Deflater {
//...
protected void finalize() {
end();
}
}
还有其他选择吗?在我的情况下,我有相当多的文件,因此这个流的java.lang.ref.Finalizer
位于内存转储之上。
也许第三方图书馆有什么东西?
我从JVM中转储内存并将转储加载到YourKit中。在我的情况下非常大意味着java.lang.ref.Finalizer的Deflaters的保留大小是1.6GB,而下一个是int []只有457MB。