Heim  >  Artikel  >  Java  >  Java Virtual Machine Learning – Objektspeicherzuweisung und -recycling

Java Virtual Machine Learning – Objektspeicherzuweisung und -recycling

黄舟
黄舟Original
2017-03-18 17:51:501621Durchsuche

Objekte werden zuerst im Eden zugewiesen

In den meisten Fällen werden Objekte zuerst im Eden-Bereich der neuen Generation zugewiesen. Wenn im Eden-Speicherbereich nicht genügend Speicherplatz für die Zuweisung vorhanden ist, löst die virtuelle Maschine einen Minor GC (New Generation GC) aus. Während der Minor GC verschiebt die virtuelle Maschine Objekte im Eden-Bereich in einen der Survivor-Bereiche.



Große Objekte gelangen direkt ins Alter

Die sogenannten Große Objekte beziehen sich auf Objekte, die viel zusammenhängenden Raum benötigen. Die virtuelle Maschine stellt einen XX:PretenureSizeThreshold-Parameter bereit, sodass Objekte, die größer als dieser Wert sind, direkt in der alten Generation zugewiesen werden.

Objekte, die lange überlebt haben, werden in die alte Generation aufgenommen

Die virtuelle Maschine nutzt die Idee der Generationensammlung, um den Speicher zu verwalten. Beim Recycling von Speicher muss sie in der Lage sein, sie zu identifizieren Welche Objekte sollten in der neuen Generation platziert werden und welche sollten in der neuen Generation platziert werden. Um dies zu erreichen, definiert die virtuelle Maschine ein Objektalter für jedes Objekt. Jedes Mal, wenn es nach einem GC der neuen Generation überlebt, wird das Alter des Objekts um ein Jahr erhöht (Standard ist 15). auf die alte Generation heraufgestuft werden soll. Die Altersgrenze für das in die alte Generation hochzustufende Objekt kann durch -XX:MaxTenuringThreshold festgelegt werden.

Der Unterschied zwischen Minor GC und Full GC

GC der neuen Generation (Minor GC): bezieht sich auf die Garbage Collection-Aktion, die in der neuen Generation stattfindet, Minor GC ist es sehr häufig und die Wiederherstellungsgeschwindigkeit ist relativ schnell.

GC der alten Generation (Major GC / Full GC): bezieht sich auf den GC, der in der alten Generation auftritt. Nach dem Auftreten von Major GC wird dieser häufig von mindestens einem Minor GC begleitet. Die Geschwindigkeit von Major GC ist im Allgemeinen mehr als zehnmal langsamer als die von Minor GC.

Das Obige ist der Inhalt des Java Virtual Machine Learning – Objektspeicherzuweisung und -recycling. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Verwandte Artikel:

Detaillierte Erklärung der Java Virtual Machine

Detailliertes Verständnis der Java Virtual Machine

Java Virtual Machine Learning – Klassenlademechanismus

Java Virtual Machine Learning – Objektzugriff

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn