Я только что столкнулся со следующим кодом (слегка упрощенным):
/* periodically requests garbagecollect to improve memory usage and
garbage collect performance under most JVMs */
static class GCThread implements Runnable {
public void run() {
while(true) {
try {
Thread.sleep(300000);
} catch (InterruptedException e) {}
System.gc();
}
}
}
Thread gcThread = new Thread(new GCThread());
gcThread.setDaemon(true);
gcThread.start();
Я уважаю автора кода, но больше не имею легкого доступа, чтобы попросить его защитить свое утверждение в комментарии сверху.
Это правда? Это очень противоречит моей интуиции, что этот маленький взломщик должен что-то улучшить. Я ожидаю, что JVM будет гораздо лучше оснащена, чтобы решить, когда выполнять коллекцию.
Код выполняется в веб-приложении, работающем внутри IBM WebSphere в Z / OS.