Heim  >  Artikel  >  Java  >  Versuchen Sie Folgendes: Garbage Collection und Terminierung

Versuchen Sie Folgendes: Garbage Collection und Terminierung

WBOY
WBOYOriginal
2024-07-31 12:27:03942Durchsuche

Da die Speicherbereinigung sporadisch im Hintergrund läuft,
Es ist nicht leicht zu demonstrieren. Eine Möglichkeit, dies zu tun, ist jedoch
mit der finalize()-Methode. Denken Sie daran, dass finalize( ) aufgerufen wird, wenn ein Objekt recycelt werden soll. Wie erläutert, werden Gegenstände nicht unbedingt recycelt, sobald sie nicht mehr benötigt werden. Stattdessen wartet der Garbage Collector, bis er seine Sammlung effizient durchführen kann, normalerweise wenn viele ungenutzte Objekte vorhanden sind.

Um die Garbage Collection über die finalize()-Methode zu demonstrieren, müssen wir also
verschiedene Objekte erschaffen und zerstören – und genau das werden wir in diesem Projekt tun.

1 Erstellen Sie eine neue Datei mit dem Namen Finalize.java.

2 Erstellen Sie die FDemo-Klasse:
Image description

Der Konstruktor setzt die Instanzvariable x auf einen bekannten Wert
von. In diesem Beispiel wird x als Objekt-ID verwendet. Die
-Methode finalize() zeigt den Wert von x an, wenn ein Objekt recycelt wird. Von besonderem Interesse ist Generator( ). Diese Methode erstellt ein FDemo-Objekt und verwirft es dann sofort. Wie es verwendet wird, erfahren Sie im nächsten Schritt.

3 Erstellen Sie die Finalize-Klasse:
Image description

Diese Klasse erstellt ein anfängliches FDemo-Objekt namens ob. Dann mit
ob, es erstellt 100.000 Objekte durch den Aufruf von generator( ) in ob. Dadurch werden 100.000 Objekte erstellt und verworfen. An verschiedenen Stellen in der Mitte von
Bei diesem Prozess wird eine Speicherbereinigung durchgeführt. Viele Faktoren beeinflussen genau, wie oft oder wann, beispielsweise die anfängliche Menge an freiem Speicher und das Betriebssystem. Irgendwann werden Sie jedoch Meldungen sehen, die von finalize( ) generiert wurden. Wenn Sie sie nicht sehen können, versuchen Sie, die Anzahl der generierten Objekte zu erhöhen, indem Sie die Anzahl in der for-Schleife erhöhen.

Das obige ist der detaillierte Inhalt vonVersuchen Sie Folgendes: Garbage Collection und Terminierung. 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