Ein JNI globale Referenz ist eine Referenz von „native“ Code zu einem Java-Objekt, das vom Java-Garbage-Collector verwaltet wird. Sein Zweck besteht darin, das Sammeln eines Objekts zu verhindern, das noch von nativem Code verwendet wird, aber keine Live-Referenzen im Java-Code zu haben scheint.
Ein JFrame ist ein java.awt.Window
und ist einem "nativen" Window-Objekt zugeordnet. Wenn Sie mit einer bestimmten JFrame-Instanz vollständig fertig sind, sollten Sie die Methode dispose()
zum Bereinigen aufrufen.
Ich bin nicht sicher, ob ein systemeigener Code einen globalen Verweis auf den JFrame erstellt, aber es scheint wahrscheinlich. Wenn dies der Fall ist, verhindert dies, dass der JFrame als Müll gesammelt wird. Wenn Sie viele Windows (oder Unterklassen) erstellen und feststellen, dass sie nie erfasst werden, stellen Sie sicher, dass sie entsorgt werden.
Wikipedia ist eine sekundäre Quelle. Die primäre Quelle und das offizielle Dokument sind die [JNI-Spezifikation] (http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html). – EJP