Heim  >  Artikel  >  Java  >  Was ist der Erstellungsprozess von Java-Objekten?

Was ist der Erstellungsprozess von Java-Objekten?

王林
王林Original
2020-05-25 09:59:473194Durchsuche

Was ist der Erstellungsprozess von Java-Objekten?

Erstellungsprozess des Java-Objekts:

Klassenladeprüfung-->Speicher zuweisen-->Nullwert initialisieren-->Objekt-Header festlegen -->Führen Sie die Init-Methode aus

Die Details sind wie folgt:

1. Klassenladeprüfung

Wenn die virtuelle Maschine auf eine neue Anweisung stößt, wird sie ausgeführt Überprüfen Sie zunächst die Parameter dieser Anweisung. Können Sie die symbolische Referenz einer Klasse im Konstantenpool finden und prüfen, ob die durch diese symbolische Referenz dargestellte Klasse von ji geladen, analysiert und initialisiert wurde? Wenn nicht, wird zuerst der Klassenladevorgang durchgeführt.

(Empfohlenes Video-Tutorial: Java-Video )

2 Es gibt zwei Möglichkeiten, Speicher zuzuweisen

:

(1 ) Zeigerkollision: Gehen Sie davon aus, dass der Speicher im Java-Heap regulär ist, mit belegtem Speicher auf der einen Seite und freiem Speicher auf der anderen Seite. In der Mitte befindet sich ein Zeiger als Indikator für den Grenzpunkt. Der zugewiesene Speicher verschiebt diesen Zeiger zur freien Seite. Ein Abstand, der der Größe des Objekts entspricht.

(2) Freie Liste: Wenn der Speicher im Java-Heap nicht regelmäßig ist, muss die virtuelle Maschine eine Liste führen, um aufzuzeichnen, welche Speicherblöcke verfügbar sind, und in der Liste einen ausreichend großen Speicherplatz finden, um ihn zuzuweisen zum Objekt hinzufügen und die Datensätze der Liste aktualisieren.

3. Nullwert initialisieren

Alle zugewiesenen Speicherplätze auf den Nullwert initialisieren. Wenn TLAB verwendet wird, wird er bei der Zuweisung von TLAB auf den Nullwert initialisiert.

4. Legen Sie den Objektheader fest

Legen Sie hauptsächlich die Metadateninformationen der Klasse, den Hash-Code des Objekts, das GC-Generierungsalter des Objekts und andere Informationen fest.

5. Führen Sie die Initialisierung der Init-Methode aus.

Empfohlenes Tutorial: Einführung in die Java-Entwicklung

Das obige ist der detaillierte Inhalt vonWas ist der Erstellungsprozess von Java-Objekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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