1. Übersicht In diesem Tutorial lernen wir verschiedene Techniken kennen, um alle in der JVM geladenen Klassen aufzulisten. Beispielsweise können wir den Heap-Dump der JVM laden oder die laufenden Anwendungen mit verschiedenen Tools verbinden und alle in diesem Tool geladenen Klassen auflisten. Auß
1. Übersicht In diesem kurzen Tutorial lernen wir, wie manalle laufenden Threads in der aktuellen JVM erhält , einschließlich der Threads, die nicht von unserer Klasse gestartet wurden. 2. Verwenden Sie den Thread Klasse Der getAllStackTrace() Methode des Thread Klasse gibt einen Stack-Trace aller
1. Übersicht Zusätzlich zu typischen Entwicklungsdienstprogrammen wie Compiler und Runtime wird jede JDK-Version mit unzähligen anderen Tools ausgeliefert. Einige dieser Tools können uns helfen, wertvolle Einblicke in unsere laufenden Anwendungen zu gewinnen. In diesem Artikel werden wir sehen, wi
1. Übersicht Die JVM interpretiert Bytecode zur Laufzeit und führt ihn aus. Darüber hinaus nutzt es die Just-in-Time-Kompilierung (JIT), um die Leistung zu steigern. In früheren Versionen von Java mussten wir manuell zwischen den beiden Arten von JIT-Compilern wählen, die in der Hotspot-JVM verfüg
1. Übersicht Die Java Virtual Machine (JVM) ist eine virtuelle Maschine, die es einem Computer ermöglicht, Java-Programme auszuführen. In diesem Artikel werden wir sehen, wie wir eine laufende JVM einfach diagnostizieren können. Im JDK selbst stehen viele Tools zur Verfügung, die für verschiedene
1. Übersicht In unserer täglichen Arbeit kümmern wir uns oft nicht um die interne Speicherzuweisung von JVM. Die Kenntnis der Grundlagen des JVM-Speichermodells ist jedoch praktisch für die Leistungsoptimierung und die Verbesserung der Codequalität . In diesem Artikel untersuchen wir den JVM-Spei
1. Übersicht In diesem Tutorial besprechen wir einige JVM-Parameter, die wir verwenden können, um den RAM-Prozentsatz der JVM einzustellen. Die in Java 8 eingeführten Parameter InitialRAMPercentage , MinRAMPercentage und MaxRAMPercentage helfen, die Heap-Größe einer Java-Anwendung zu konfigurieren
1. Einführung In diesem Lernprogramm behandeln wir die grundlegenden Probleme mit der Java-Speicherverwaltung und die Notwendigkeit, ständig bessere Wege zu finden, um dies zu erreichen. Dies wird hauptsächlich den neuen experimentellen Garbage Collector behandeln, der in Java namens Shenandoah ein
1. Einführung In diesem Artikel erfahren wir, was Intrinsics sind und wie sie in Java und anderen JVM-basierten Sprachen funktionieren. 2. Was sind Intrinsics? Eine intrinsische Funktion ist eine Funktion, die vom Compiler oder Interpreter für unsere Programmiersprache speziell behandelt wird. G
1. Einführung Wenn wir eine .java -Datei erhalten wir eine separate Klassendatei mit einer .class Verlängerung. Die .class Datei besteht aus mehreren Abschnitten und ein konstanter Pool ist einer davon. In diesem kurzen Tutorial werden wir die Details eines konstanten Pools untersuchen. Außerdem
1. Übersicht Obwohl Java plattformunabhängig ist, gibt es Zeiten, in denen wir native Bibliotheken verwenden müssen. In diesen Fällen müssen wir möglicherweise die zugrunde liegende Plattform identifizieren und die entsprechenden nativen Bibliotheken beim Start laden. In diesem Tutorial lernen wir
1. Einführung In diesem Artikel untersuchen wir die Unterschiede zwischen der Java Virtual Machine (JVM) und die Dalvik Virtual Machine (DVM) . Wir werden uns zuerst jeden von ihnen kurz ansehen und dann einen Vergleich anstellen. Beachten Sie, dass ab Android 5.0 die Dalvik Virtual Machine durch
1. Übersicht In diesem kurzen Tutorial werden wir sehen, wie und wo die HotSpot-JVM die Array-Länge speichert. Normalerweise ist das Speicherlayout von Laufzeitdatenbereichen nicht Teil der JVM-Spezifikation und wird dem Ermessen des Implementierers überlassen. Daher kann jede JVM-Implementierung
1. Übersicht In diesem kurzen Tutorial werden wir sehen, wie die Thread-Stack-Größen in der HotSpot-JVM konfiguriert werden. 2. Standardstapelgröße Jeder JVM-Thread verfügt über einen privaten nativen Stack zum Speichern von Call-Stack-Informationen, lokalen Variablen und Teilergebnissen. Daher sp
1. Übersicht In diesem Tutorial werden wir sehen, wie viel Platz jedes Objekt im Java-Heap verbraucht. Zuerst machen wir uns mit verschiedenen Metriken zur Berechnung von Objektgrößen vertraut. Anschließend sehen wir uns einige Möglichkeiten zum Messen von Instanzgrößen an. Normalerweise ist das
1. Übersicht Invoke Dynamic (auch bekannt als Indy) war Teil von JSR 292, das die JVM-Unterstützung für dynamisch typisierte Sprachen verbessern sollte. Nach seiner ersten Veröffentlichung in Java 7 wurde die invokedynamic Opcode wird ziemlich häufig von dynamischen JVM-basierten Sprachen wie JRub
1. Übersicht Die JVM verwendet zwei unterschiedliche Methoden, um Objektinstanzen und Klassen zu initialisieren. In diesem kurzen Artikel werden wir sehen, wie der Compiler und die Laufzeit verwenden und Methoden für Initialisierungszwecke. 2. Instanzinitialisierungsmethoden Beginnen wir mit
1. Übersicht In diesem kurzen Artikel werden wir sehen, was der Fußabdruck eines booleschen Werts ist Wert in der JVM unter verschiedenen Umständen. Zuerst untersuchen wir die JVM, um die Objektgrößen zu sehen. Dann werden wir die Gründe für diese Größen verstehen. 2. Einrichtung Um das Speicher
1. Übersicht Es ist möglich, die HotSpot-JVM mit einer Vielzahl von Tuning-Flags zu tunen. Da es Hunderte solcher Flags gibt, kann es ein wenig entmutigend sein, sie und ihre Standardwerte im Auge zu behalten. In diesem Tutorial stellen wir einige Möglichkeiten vor, wie Sie solche Tuning-Flags ent
1. Übersicht Normalerweise ist es einfach, einen Dienst zu starten. Manchmal müssen wir jedoch einen Plan haben, um einen ordnungsgemäß herunterzufahren. In diesem Lernprogramm werden wir uns verschiedene Möglichkeiten ansehen, wie eine JVM-Anwendung beendet werden kann. Dann verwenden wir Java-AP