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

标签 java memory

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

enter image description here

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

  • 这是一个无效的假设吗?
  • 一旦分配,堆不会 缩小直到程序关闭?

最佳答案

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

然而,后来 JVM 选择不收缩堆。这几乎可以肯定是因为未使用的堆的比例不够大。该行为由 -XX:MinHeapFreeRatio-XX:MaxHeapFreeRatio 控制。

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

关于java - 这是否表明 Java 中存在内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14696718/

相关文章:

java - 如何拆分以逗号分隔的字符串,但在 Java 中排除一些包含逗号的单词

java - Jenkins 和 AntHillPro 的区别

java - 资源、服务、Dao - 命名约定

java - 如何在 java 中通过 tcp/ip 网络连接发送用户定义的类对象?

r - 以节省内存的方式增长 data.frame

c++ - 动态内存,堆栈内存和静态内存与c++的区别?

c++ - top 如何查看内存使用情况

java - 处理ResourceServer中的spring security认证异常

Java 堆内存使用波动

linux - fmem 编译错误与 make