Heim >Java >JavaErste Schritte >Java, was ist gc
GC bedeutet Garbage Collection (Gabage Collection), bei der Programmierer anfällig für Probleme sind, die zu Instabilität oder sogar zum Absturz des Programms oder Systems führen können.
Die von Java bereitgestellte GC-Funktion kann automatisch erkennen, ob das Objekt den Bereich überschreitet, um den Zweck der automatischen Wiederverwendung von Speicher zu erreichen Die Sprache bietet keine Release-Anzeige-Operationsmethode für den zugewiesenen Speicher. (Empfohlenes Lernen: Java-Kurs )
GC ist ein Garbage Collector. Java-Programmierer müssen sich nicht um die Speicherverwaltung kümmern, da der Garbage Collector sich automatisch darum kümmert. Um die Garbage Collection anzufordern, können Sie eine der folgenden Methoden aufrufen:
System.gc() Runtime.getRuntime().gc()
Java wird aus C++ entwickelt.
Es verzichtet auf einige umständliche und fehleranfällige Dinge in C++. Einer davon ist dieser GC.
Beim Schreiben eines C/C++-Programms definiert der Programmierer eine Variable, was bedeutet, dass ein entsprechender Platz im Speicher zum Speichern des Werts geöffnet wird. Egal wie groß der Speicher ist, er ist begrenzt. Wenn das Programm also eine bestimmte Variable nicht mehr verwenden muss, muss es diese Speicherplatzressource freigeben, damit andere Variablen sie verwenden können.
In C/C++ muss die Freigabe von nutzlosem Variablenspeicherplatz vom Programmierer selbst gelöst werden. Das heißt, wenn der Programmierer denkt, dass die Variable nutzlos ist, sollte er einen Code schreiben, um den von ihr belegten Speicher freizugeben. Auf diese Weise können Speicherlecks und Ressourcenverschwendung weitestgehend vermieden werden.
Aber das ist natürlich sehr umständlich. Wenn das Programm relativ groß ist und viele Variablen vorhanden sind, vergessen Programmierer oft, den Speicher freizugeben oder den Speicher freizugeben, wenn er nicht freigegeben werden sollte.
Und die Freigabe von Speicher sollte aus Entwicklungssicht kein Grund zur Sorge für Programmierer sein. Was der Programmierer tun muss, sollte darin bestehen, die erforderlichen Programmfunktionen zu implementieren, anstatt viel Energie für die Zuweisung und Freigabe von Speicher aufzuwenden.
Mit GC in Java müssen Programmierer Speicherplatz nicht manuell freigeben. Wenn die Java Virtual Machine feststellt, dass die Speicherressourcen knapp sind, bereinigt sie automatisch den von nutzlosen Variablen belegten Speicherplatz. Natürlich können Programmierer bei Bedarf explizit System.gc() in einem Java-Programm verwenden, um eine sofortige Speicherbereinigung zu erzwingen.
Da die explizite Deklaration darin besteht, einen vollständigen Scan des Heap-Speichers, also einen vollständigen GC, durchzuführen, müssen alle Aktivitäten gestoppt werden (Stop The World Collection). Kann Ihre Anwendung dem standhalten?
Es zeigt, dass der Aufruf von System.gc() lediglich ein Vorschlag für die virtuelle Maschine ist und möglicherweise nicht ausgeführt wird, da System.gc() in einem Thread mit sehr niedriger Priorität ausgeführt wird.
Das obige ist der detaillierte Inhalt vonJava, was ist gc. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!