如何在Java中强制垃圾回收?
2022-08-31 05:32:47
是否有可能在Java中强制垃圾回收,即使这样做很棘手?我知道,但他们只建议做GC。如何强制GC?System.gc();
Runtime.gc();
是否有可能在Java中强制垃圾回收,即使这样做很棘手?我知道,但他们只建议做GC。如何强制GC?System.gc();
Runtime.gc();
jlibs 库有一个很好的用于垃圾回收的实用程序类。您可以使用带有 WeakReference 对象的漂亮小技巧强制垃圾回收。
RuntimeUtil.gc() from the jlibs:
/**
* This method guarantees that garbage collection is
* done unlike <code>{@link System#gc()}</code>
*/
public static void gc() {
Object obj = new Object();
WeakReference ref = new WeakReference<Object>(obj);
obj = null;
while(ref.get() != null) {
System.gc();
}
}