这是否表明Java存在内存泄漏?

sda*_*das 7 java memory

下图是否表明我正在使用内存并且它没有被垃圾回收?

在此输入图像描述

一旦我开始使用较少的堆,我预计橙色图(分配的堆)会下降.

  • 这是一个无效的假设吗?
  • 一旦分配,堆在程序关闭之前不会收缩吗?

NPE*_*NPE 10

从图中可以清楚地看出,您的JVM能够缩小堆.这可以从橙色线看到,在下午3:10之前略微下降.

但是,稍后JVM选择不缩小堆.这几乎可以肯定是因为没有大量的堆未使用.行为由-XX:MinHeapFreeRatio和控制-XX:MaxHeapFreeRatio.

有关讨论,请参阅http://stopcoding.wordpress.com/2010/04/12/more-on-the-incredible-shrinking-jvm-heap/