Java 协调jconsole和top的输出

Java 协调jconsole和top的输出,java,memory-management,jconsole,Java,Memory Management,Jconsole,我试图研究Java中的内存管理。我有一个程序可以创建一个大集合(~500MB)。我运行java,没有任何特殊参数。一旦此收集超出范围,我将使用System.gc()调用垃圾收集器。从jconsole中,我可以看到正在使用的堆内存显著减少。对于toplinux命令的RES输出,情况并非如此 我唯一的解释是,一旦JVM获得内存,只要它还在运行,它就不会将其释放到系统中。这是正确的吗

我试图研究Java中的内存管理。我有一个程序可以创建一个大集合(~500MB)。我运行
java
,没有任何特殊参数。一旦此收集超出范围,我将使用
System.gc()
调用垃圾收集器。从jconsole中,我可以看到正在使用的堆内存显著减少。对于
top
linux命令的RES输出,情况并非如此

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