JVM使用实际的内存比-Xmx指定的少究竟是为什么
这确实是一个非常奇怪的问题,尤其是在消除了最常见的解释之后,JVM似乎并没有进行其他操作。·Xmx和Xms是相等的,因此检测结果并不会因为堆内存增加而在运行时有所变化。·通过关闭自适应调整策略(XX:UseAdaptiveSizePolicy),JVM已经事先被禁止动态调整内存池的大小。重现差异检测结果要弄清楚这个问题的第一步就是要明白这些工具的实现原理。通过标准APIs,我们可以用以下简单语句得到可使用的内存信息。System.out.println("...