标签: java memory-management jconsole
我试图用Java来看待内存管理。我有一个程序,可以创建一个大型集合(~500MB)。我运行java没有任何特殊参数。一旦这个集合超出范围,我就使用System.gc()调用垃圾收集器。从jconsole,我可以看到正在使用的堆内存大大减少。 top linux命令的RES输出也是如此。
java
System.gc()
top
我唯一的解释是,一旦JVM获取内存,只要它正在运行,它就不会将其释放到系统中。这是对的吗?