2009-03-06 7 views
12

Je veux connaître les composants internes de la machine virtuelle Java, son fonctionnement et les détails importants. Pouvez-vous suggérer une ressource ou un meilleur livre disponible pour cela?Comprendre JVM mieux

Répondre

5

La plupart de ce que je sais de la machine virtuelle Java vient de la documentation Sun. Ils ont quelques grands livres blancs sur la machine virtuelle HotSpot: http://java.sun.com/javase/technologies/hotspot/index.jsp

Vous avez mentionné la performance, de sorte que vous seriez peut-être intéressé par les performances Sun docs: http://java.sun.com/docs/performance/

Pour une plus approche pratique, essayez de regarder Kaffe. Cela va vous montrer ce qu'est une machine virtuelle fait, mais pas nécessairement le code Java fonctionne dans JVM de Sun:

Kaffe est une implémentation de la salle blanche de la machine virtuelle Java, ainsi que les bibliothèques de classes associées nécessaires pour fournir un environnement d'exécution Java environnement.

Et OpenJDK est un excellent endroit pour en apprendre davantage sur la façon dont la plate-forme Java est mis en œuvre: http://openjdk.java.net/

0

Si votre motivation est de savoir comment écrire du code qui fonctionne plus rapidement ou utilise moins de mémoire la spécification VM ne va pas aider trop.

spécifications La VM n'est pas conçu pour vous donner des informations à ce sujet, il est conçu pour permettre aux développeurs VM sait, à peu près, comment mettre en œuvre la machine virtuelle.

Cela étant dit, il ne peut pas le lire. La meilleure façon d'obtenir des informations sur les problèmes de vitesse et de mémoire est d'atteindre un niveau beaucoup plus élevé. Il existe un grand nombre de livres qui vous aideront à accélérer/réduire votre code.

Un profileur est un outil précieux pour tester votre code pour voir ce qui est plus rapide/utilise moins de mémoire. Profil, voir ce qui est lent/utilise beaucoup de mémoire, le changer, le profil, voir ce que les changements ont fait.

0

est Ci-dessous un lien vers mon approfondie cours en ligne Java sur la plate-forme Udemy. Il a un chapitre complet sur la JVM avec environ 3 heures de vidéo. Il couvre tous les types de durée de vie, les zones de données d'exécution, la réflexion, la récupération de place, les tas & et le jeu d'instructions. "Inside the Java 2 Virtual Machine" livre en ligne mentionné dans l'une des réponses est utilisé comme l'un des livres de référence.

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