Mic*_*che 1 java memory-leaks weak-references
我正在使用VisualVM分析我的应用程序,我发现堆大小在大约3天内增加了大约7MB.当我使用内存采样器时,我也看到它java.lang.ref.WeakReference在实例编号的前五位.数量WeakReference正在增加,GC几乎没有影响.
java.lang.ref.WeakReference
WeakReference
任何的想法?
Pab*_*dez 5
你没有内存泄漏.
Java的GC仅在堆已满时运行(实际上有点复杂,因为堆本身被分成几代,但无论如何),所以除非你填充堆(这是非常不可能的,因为7Mb对于任何堆都是太少的内存你无法告诉你是否有泄漏.
WeakReferences是小包装器,实际上有助于防止内存泄漏,方法是将它们引用的对象标记为GC的易读性.我的猜测是你要包含一些缓存库来创建一堆这样的缓存库,并且由于堆仍然有足够的空间,所以不需要垃圾收集它们.
WeakReferences
同样,除非您看到GC经常运行且堆大小仍然增加,否则我不会担心内存问题.
这是关于这件事的一篇很棒的文章
归档时间:
13 年,10 月 前
查看次数:
3591 次
最近记录:
7 年,11 月 前