Deux avantages principaux peuvent être identifiés lors de l'utilisation d'une machine virtuelle Java. Ces deux avantages sont la sécurité du programme et la fonctionnalité multiplateforme.
- Qu'est-ce qu'une machine virtuelle ?
Fondamentalement, une machine virtuelle est une couche d'abstraction qui est placée sur un programme et lui fournit une interface simplifiée dans le but d'interagir avec éventuellement de nombreuses machines informatiques différentes et les systèmes d'exploitation sur lesquels elles s'exécutent.
- L'avantage de la sécurité.
La machine virtuelle Java présente le grand avantage de sa sécurité car avant que cette machine virtuelle ne s'exécute pour une activité malveillante, elle vérifie toute la programmation qu'elle rencontre. Toute erreur, mineure ou grave, à l'intérieur d'un programme Java est confinée à une zone spécifique de la machine virtuelle.
- Avantage de la plate-forme croisée.
Outre la sécurité, la multiplateforme est l'un des plus grands avantages de la machine virtuelle. Cette fonctionnalité permet à un programme d'être écrit et compilé une seule fois. Ensuite, il est capable de fonctionner sur une plus grande variété de systèmes d'exploitation sans qu'il soit modifié à chaque fois. Cette fonctionnalité signifie qu'elle est pratique pour les téléphones portables, qui sont souvent livrés avec cette machine virtuelle installée.
- Inconvénient de la vitesse.
La vitesse lente de ce programme est l'une des seules déceptions. La lenteur est due au fait que la programmation doit être traduite du code d'octet ordinaire en un code machine spécifique afin que le système qu'il cible puisse réellement l'exécuter. Pour le moment, il est impossible pour la machine virtuelle Java de faire cette traduction rapidement.
- Inconvénient des fonctionnalités spécifiques à la plate-forme.
Cet inconvénient est dû au fait que les machines virtuelles doivent pouvoir s'exécuter sur une grande variété de systèmes d'exploitation. Cela signifie que les fonctionnalités qui ne seraient disponibles que sur un seul système d'exploitation ne sont pas installées dans les programmes Java.