Мне не нужны обычные ответы «вы можете намекнуть на сборщик мусора в Java, используя ответы System.gc () », это совсем не то, о чем этот вопрос.
Мои вопросы не субъективны и основаны на реальности: GC может быть принудительным в Java для факта. Многие программы, которые мы используем ежедневно, делают это: IntelliJ IDEA, NetBeans, VisualVM.
Они все могут заставить GC произойти.
Как это сделать?
Я так понимаю, все они используют JVMTI, а точнее ForceGarbageCollection (обратите внимание на "Force"), но как я могу попробовать это для себя?
http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#ForceGarbageCollection
Также обратите внимание, что этот вопрос не о «почему», я бы хотел это сделать: «почему» может быть «любопытством» или «мы пишем программу, похожую на VisualVM» и т. Д.
Вопрос на самом деле "как заставить GC использовать ForceGarbageCollection JVMTI"?
Нужно ли запускать JVM с какими-либо особыми параметрами?
Требуется ли какой-либо JNI? Если да, то какой именно код?
Работает ли это только на виртуальных машинах Sun?
Любой законченный и компилируемый пример будет очень кстати.