


Erweiterte JVM-Funktionen – Einführung in den Java-Speicherstrukturbereich
Regionale Aufteilung:
Während der Ausführung des Programms unterteilt die Java Virtual Machine den Speicher in mehrere Bereiche mit unterschiedlichen Funktionen, wie unten gezeigt:
Dieses Bild listet die verschiedenen Bereiche der Speicheraufteilung auf, darunter
Thread-privat: Programmzähler, Stapel der virtuellen Maschine, lokal Methodenstapel
Thread-shared: Heap, Methodenbereich
Im Folgenden werden die Funktionen und Funktionen jedes Bereichs einzeln vorgestellt
Programmzähler:
1. Der Programmzähler wird hauptsächlich verwendet, um auf die ausgeführte Bytecode-Zeilennummer zu verweisen. Jeder Thread verfügt über einen separaten Programmzähler, der nicht mit jedem geteilt wird Andere. Durch Ändern dieses Zählers Zeigen Sie auf die Bytecode-Zeilennummer, um das Programm auszuführen
2. Schleifen, Sprünge, Ausnahmebehandlung und andere Mechanismen sind alle auf diesen Zähler angewiesen, um abgeschlossen zu werden
3. Wenn die Das Programm führt ein Java-Programm aus. Wenn die native Methode ausgeführt wird, ist ihr Wert leer
Java Virtual Machine Stack:
1. Der Stapel der virtuellen Maschine ist für den Thread privat. Jede Methode erstellt bei der Ausführung einen Stapelrahmen, der zum Speichern von Informationen wie lokalen Variablentabellen, Methodenexits und dynamischen Links verwendet wird. und Operandenstapel. ,
2. Der Ausführungsprozess jeder Methode ist der Prozess eines Stapels einer virtuellen Maschine vom Einschieben bis zum Herausspringen
Viele Leute sagen oft, dass der Java-Speicher in Heap unterteilt ist Speicher und Stapelspeicher. Der Stapelspeicher bezieht sich auf den Stapel der virtuellen Maschine
. Die oben erwähnte lokale Variablentabelle speichert hauptsächlich die dem Compiler bekannten grundlegenden Datentypen (intbytecharlong usw.).
Erweiterung:
Objektreferenz: Nicht das Objekt selbst, es kann ein Referenzzeiger sein, der auf die Startadresse des Objekts zeigt, es kann ein Handle sein, das das Objekt oder andere verwandte Orte darstellt
returnaddress : ist kein Typ in der Java-API und kann von uns nicht aufgerufen werden. Es zeigt auf die Adresse einer Bytecode-Anweisung
Lokal Methodenstapel
Ähnlich wie beim Stapel der virtuellen Maschine ist es der Speicher, der native Methoden bedient
Java-Heap
Heap-Speicher ist ein Thread-Shared-Speicher. Sein Hauptzweck ist die Speicherung von Objekten und er ist auch der Hauptbereich, der vom Garbage Collector verwaltet wird.
Der Java-Heap ist unterteilt in die neue Generation und die alte Generation, insbesondere über den Garbage-Collection-Mechanismus. Wird in nachfolgenden Artikeln vorgestellt
Methodenbereich (auch Nicht-Heap genannt)
Es ist auch ein gemeinsam genutzter Speicher, der zum Speichern geladener Klasseninformationen, Konstanten, statischer Variablen, vom Just-in-Time-Compiler kompiliertem Code usw. verwendet wird.
Laufzeitkonstante pool: Es ist Teil des Methodenbereichs und wird zum Speichern verschiedener vom Compiler generierter Literale und Symbole verwendet. Zitat
Direkter Speicher:
Es ist nicht Teil des Laufzeitdatenbereichs der virtuellen Maschine und gehört nicht zum von der JVM verwalteten Speicher.
In NIO können Sie die native Funktion verwenden, um direkten Speicher direkt zuzuweisen Betreiben Sie es über das DirectByteBuffer-Objekt in Java als Referenz auf diesen Speicher
Vorteile: Spart die Schritte des Speicherkopierens und ist effizienter. Schnell
Nachteile: schwer zu steuern, leicht zu verursachender Speicher Lecks
Das obige ist der detaillierte Inhalt vonErweiterte JVM-Funktionen – Einführung in den Java-Speicherstrukturbereich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Laut Nachrichten dieser Website vom 3. September berichteten die koreanischen Medien etnews gestern (Ortszeit), dass die „HBM-ähnlichen“ mobilen Speicherprodukte mit Stapelstruktur von Samsung Electronics und SK Hynix nach 2026 kommerzialisiert werden. Quellen zufolge betrachten die beiden koreanischen Speichergiganten gestapelten mobilen Speicher als wichtige zukünftige Einnahmequelle und planen, den „HBM-ähnlichen Speicher“ auf Smartphones, Tablets und Laptops auszudehnen, um End-Side-KI mit Strom zu versorgen. Früheren Berichten auf dieser Website zufolge heißt das Produkt von Samsung Electronics LPWide I/O-Speicher und SK Hynix nennt diese Technologie VFO. Die beiden Unternehmen haben ungefähr den gleichen technischen Weg gewählt, nämlich die Kombination von Fan-Out-Verpackungen und vertikalen Kanälen. Der LPWide I/O-Speicher von Samsung Electronics hat eine Bitbreite von 512

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4
