2008-12-09 4 views
3

Je cherche des livres utiles pour un débutant qui veut mieux comprendre la machine virtuelle Java SunComprendre la JVM Sun

Merci

+0

Voulez-vous réellement comprendre comment la JVM fonctionne vraiment, ou comment l'environnement d'exécution fonctionne autant que vous êtes concerné en tant que développeur? – Uri

Répondre

0

wikipedia - JVM

Une machine virtuelle Java (JVM) est un ensemble de programmes logiciels et de structures de données qui utilisent un modèle de machine virtuelle pour l'exécution d'autres programmes et scripts informatiques. Le modèle utilisé par une machine virtuelle Java accepte une forme de langage intermédiaire d'ordinateur communément appelé Java bytecode. Ce langage représente conceptuellement l'ensemble d'instructions d'une architecture de capacité orientée pile. En 2006, on estime à 4 milliards le nombre d'appareils compatibles avec JVM dans le monde. Les machines virtuelles Java fonctionnent sur le bytecode Java, qui est normalement (mais pas nécessairement) généré à partir du code source Java; une JVM peut également être utilisée pour implémenter des langages de programmation autres que Java. Par exemple, le code source Ada peut être compilé en bytecode Java, qui peut ensuite être exécuté par une JVM. Les JVM peuvent également être publiées par d'autres sociétés en plus de Sun (le développeur de Java). Les JVM utilisant la marque Java peuvent être développées par d'autres sociétés pour autant qu'elles respectent la spécification JVM publiée par Sun (et les obligations contractuelles associées).

La JVM est un composant essentiel de la plate-forme Java. Les JVM étant disponibles pour de nombreuses plates-formes matérielles et logicielles, Java peut être à la fois un middleware et une plate-forme à part entière - d'où la marque de commerce une seule fois, s'exécute n'importe où. L'utilisation du même bytecode pour toutes les plates-formes permet à Java d'être décrit comme «compiler une fois, exécuter n'importe où», par opposition à «écrire une fois, compiler n'importe où», qui décrit les langages compilés multiplateformes. La JVM permet également des fonctionnalités uniques telles que le traitement automatisé des exceptions, qui fournit des informations de débogage «cause-racine» pour chaque erreur logicielle (exception) indépendante du code source. La JVM est distribuée avec un ensemble de bibliothèques de classes standard qui implémentent l'API Java (Application Programming Interface). La machine virtuelle et l'API doivent être cohérentes les unes avec les autres [dubious-discuss] et sont donc regroupées en Java Runtime Environment.

+0

Java n'est généralement pas "interprété" - il est presque toujours compilé juste à temps. –

+0

@Monkey - true. Au moins à partir de Java 1.3 et. –

+0

Je ne pensais pas qu'il était nécessaire d'entrer en sémantique dans mon post. Je pensais que cela le rendrait confus. –

3

Vous pouvez essayer cela.

le début d'Ivor Horton Java 2 SDK 1.5 Édition

0

Je trouve les articles de Brian Goetz sur le JVM ici pour être très bon