Quand les gens parlent de Java, ils mentionnent souvent la Java Virtual Machine ( JVM). Pour quelqu'un de nouveau à Java, ce qui peut prêter à confusion. La nature de la JVM et le rôle qu'elle joue dans l'exécution de programmes Java est la clé pour un grand nombre de caractéristiques et les avantages de la langue . Virtual Machine
La machine virtuelle Java est un logiciel de simulation d'une machine réelle . Lorsque vous exécutez un programme Java, que l'ordinateur démarre la machine virtuelle Java et la machine virtuelle exécute le programme. Instructions du programme sont traduits par la machine virtuelle en des instructions pour le système, il est exécuté. Il existe différentes versions de la machine virtuelle Java pour chaque plate-forme - PC , Mac ou Linux - mais le même programme Java qui seront exécutées sur l'un d'eux
Virtual Hardware
.
la machine virtuelle est construit en quatre parties virtuels: les registres, la pile, la région de la méthode et le tas . Les registres de garder trace de l'état de la pile et l'endroit actuel dans le programme. La pile contient des variables et des adresses utilisés dans des opérations comme les pistes du programme. La zone de la méthode a le bytecode réelle du programme en cours d'exécution . Le tas est l'endroit où la mémoire requise par le programme est alloué , et revint plus tard par le processus de collecte des ordures.
Garbage Collection
Une des caractéristiques de la machine virtuelle Java est intégré dans la collecte des ordures . Dans de nombreux langages de programmation , le programmeur doit garder manuellement la trace de la mémoire de l'application prend et retourne . En Java , la machine virtuelle ne cette tâche par lui-même. Chaque fois qu'un programme Java est fini avec une section de la mémoire , la machine virtuelle indique à l'ordinateur la mémoire est libre . Cela évite beaucoup d'erreurs , et soulage vraiment un casse-tête pour les programmeurs.
Memory Access
Une autre caractéristique de la la machine virtuelle Java est accès à la mémoire structurée. En d'autres termes , les emplacements exacts de toutes les variables et structures de données en mémoire ne sont jamais connus et on gardé la trace de seulement par la machine virtuelle . Les programmeurs ne peuvent pas obtenir de mémoire qu'ils ne devraient pas . C'est un avantage énorme pour la sécurité, la prévention non seulement des problèmes accidentels , mais aussi les tactiques des pirates difficiles. Il est construit dans la conception de la machine virtuelle , jusqu'au niveau du bytecode .
Sandbox
L'utilisation d'une machine virtuelle donne des avantages aux programmes Java. Outre la compatibilité multi-plateforme , les programmes Java sont aussi plus sûr . La machine virtuelle est un «bac à sable », qui signifie un programme ne peut pas accéder aux processus ou de la mémoire à l'extérieur de la machine virtuelle . Si un programme se bloque accidentellement , il va se planter la machine virtuelle et laisser le système intact. Le bac à sable a également une protection intégrée contre les virus et les pirates informatiques , les empêchant d' avoir accès au reste de l'ordinateur .