2009-03-06 15 views
12

Ich möchte die Interna der JVM, wie es funktioniert und die Details, die von Bedeutung sind, kennen. Können Sie mir eine Ressource oder ein bestes Buch dafür vorschlagen?Verständnis von JVM Besser

Antwort

5

Das meiste, was ich über die JVM weiß, stammt aus der Sun-Dokumentation. Sie haben einige großen White Paper auf der HotSpot VM: http://java.sun.com/javase/technologies/hotspot/index.jsp

Sie Leistung erwähnt, vielleicht würden Sie in der Sun Performance docs interessieren: http://java.sun.com/docs/performance/

Für eine Hand am Ansatz, versuchen auf Kaffe suchen. Dies werden Ihnen zeigen, was eine virtuelle Maschine tut, aber nicht unbedingt, wie Java-Code in Sun JVM arbeitet:

Kaffe ist ein Reinraum Implementierung der Java Virtual Machine sowie die dazugehörigen Klassenbibliotheken benötigt, um einen Java-Runtime zur Verfügung zu stellen Umgebung.

Und das OpenJDK ist ein großartiger Ort, um zu erfahren, wie die Java-Plattform implementiert: http://openjdk.java.net/

0

Wenn Ihre Motivation, um herauszufinden, ist, wie Code zu schreiben, der schneller arbeitet oder weniger Speicher die VM-Spezifikation auch nicht viel helfen.

Die VM-Spezifikation wurde nicht entwickelt, um Ihnen Informationen darüber zu geben. VM-Entwickler sollten grob darüber informiert werden, wie die VM implementiert wird.

Das gesagt, es kann es nicht lesen.

Der beste Weg, um über Geschwindigkeit/Speicher Probleme zu erfahren, ist auf einem viel höheren Niveau, gibt es eine Reihe von Bücher, die Ihnen schneller/schlanker Code hilft.

Ein Profiler ist ein unschätzbares Werkzeug zum Testen Ihres Codes, um zu sehen, was schneller ist/weniger Speicher verbraucht. Profil, sehen, was langsam ist/verwendet viel Speicher, ändern Sie es, Profil, sehen Sie, was die Änderungen getan haben.

0

Unten ist ein Link zu meinem in eingehendem Online-Java Kurs auf Udemy Plattform. Es hat ein ganzes umfassendes Kapitel über JVM mit ungefähr 3 Stunden Video. Es umfasst alles von Lifetime eines Typs, Laufzeitdatenbereiche, Reflektion, Garbage Collection, Heap & Stacks und Befehlssatz. Das in einer der Antworten erwähnte Online-Buch "In der Java 2 Virtual Machine" wird als eines der Nachschlagewerke verwendet.

https://www.udemy.com/java-in-depth-become-a-complete-java-engineer/