1

我正在尝试查看 Java 中的内存管理。我有一个创建大型集合(~500MB)的程序。我运行时java没有任何特殊参数。一旦这个集合超出范围,我使用System.gc(). 从 jconsole 中,我可以看到正在使用的堆内存显着减少。对于toplinux 命令的 RES 输出,情况并非如此。

我唯一的解释是,一旦 JVM 获得内存,只要它正在运行,它就不会将其释放给系统。这个对吗?

4

0 回答 0