有没有什么方法可以让我们知道Java垃圾收集器是否在应用程序运行时运行?
保
答案 0 :(得分:7)
您可以使用JVM参数-verbose:gc
和-XX:+PrintGCDetails
来查看GC正在执行的操作。请查看http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
答案 1 :(得分:1)
List<GarbageCollectorMXBean> gcBeans = ManagementFactory.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean gcBean : gcBeans) {
long numCollections = gcBean.getCollectionCount(); // it's possible for this to return -1 for a given collector
}
答案 2 :(得分:0)
我猜你可以用WeakReference
来做// beginning of application
WeakReference<Object> ref = new WeakReference < > ( new Object ( ) ) ;
// ....
// end of application
if ( ref . get ( ) == null ) { System . out . println ( "gc" ) ; }
else { System . out . println ( "no gc" ) ; }