在jconsole中有一个“Perform GC”按钮,任何人都知道如果我点击那个按钮会发生什么,它正在调用System.gc()?
解决方法:
你可以自己找到. JConsole的代码是OpenJDK的一部分.
您也可以在grepcode.com查看.
该按钮调用实现MemoryMXBean的对象的gc()方法,该方法最有可能由com.sun.management.MemoryImpl
类实现.该类包含gc()方法的实现,如下所示:
public void gc() {
Runtime.getRuntime().gc();
}
现在,如果你考虑在java.lang.System
中实现gc()方法,它看起来像这样:
public void gc() {
Runtime.getRuntime().gc();
}
你的问题的答案是:技术上没有,但它做同样的事情.