La JVM (Java Virtual Machine) est, comme son nom l’indique, une machine virtuelle permettant l’interprétation et l’exécution de bytecode en Java. Le bytecode correspond à un code source en Java qui a été compilé. Il existe différentes JVM selon les systèmes d’exploitation utilisés. La JVM permet donc de faire fonctionner des applications java sur diverses plates-formes. Elle permet également aux navigateurs Internet d’interagir avec les applications web développées en java, comme les Applets par exemple.
Pour cela, la JVM va servir d’interpréteur pour la bytecode. En effet, le bytecode n’est en fait qu’un code executable intermédiaire. L’aisance de la portabilité du Java vient de là. Le bytecode est générique quelque soit le système d’exploitation sur lequel il est utilisé puisque c’est la JVM qui est spécifique à la plate-forme.
De plus, la JVM apporte une sécurité supplémentaire pour la machine cliente. Une attaque ou un virus ne touchera en effet que la machine virtuelle et non le système lui-même.