Avantages et inconvénients de Java Virtual Machine Interpreter

Jeune femme d'affaires portant un casque

Un agent du service client au téléphone.

Crédit d'image : Voir Stock/Voir Stock/Getty Images

Avant qu'Adobe Flash et d'autres technologies Web modernes n'existent, les propriétaires de sites utilisaient Java pour créer des sites Web attrayants et interactifs. Comme Flash, un programme Java lit des films, génère des graphiques de haute qualité et prend en charge des applications complexes qui ressemblent à des applications de bureau. L'interpréteur de machine virtuelle Java qui s'exécute dans les coulisses vous permet de profiter de ces avantages, mais il présente des inconvénients notables.

Anatomie d'une machine virtuelle Java

Le terme Java a plusieurs significations; il peut faire référence au langage de programmation utilisé par les développeurs pour créer des applications, à la spécification de l'interface du programmeur d'applications ou à la spécification de la machine virtuelle Java. Lorsque vous visitez une page Web contenant un programme Java, également appelé applet, votre navigateur active la machine virtuelle Java qui interprète le code Java et exécute l'applet. Telle une véritable machine informatique, la JVM traite les instructions et gère les zones mémoire.

Vidéo du jour

Avantage: Java s'exécute dans une zone protégée

Imaginez ce qui pourrait arriver si une page Web avait la possibilité de supprimer vos fichiers ou d'examiner vos documents privés. Même si les applets Java peuvent effectuer des tâches utiles que le code HTML normal ne peut pas effectuer, Java s'exécute isolément à l'intérieur de la machine virtuelle Java. La JVM garantit qu'une applet renégat d'un site dangereux ne peut pas accéder aux ressources système telles que les disques durs.

Inconvénient: les cybercriminels peuvent exploiter la machine virtuelle Java

Bien que la JVM limite les actions d'une applet, il est toujours possible pour des attaquants d'exploiter les faiblesses de la plate-forme Java. Par exemple, début 2013, Microsoft a vu trois exemples d'applets conçus pour utiliser l'exécution de code à distance pour infecter les ordinateurs. Oracle, le développeur de Java, a publié une mise à jour qui vous protège en définissant la sécurité par défaut de l'applet niveaux à « Élevé ». Ce paramètre garantit que votre navigateur vous avertit lorsqu'une applet non signée tente de Cours. Comme le note Microsoft, « la grande majorité des applets exploitant des failles de sécurité ne sont pas signées ». Un numérique la signature sur une applet vous permet de savoir qui l'a créée et de vérifier que personne n'a modifié l'applet après le créateur l'a signé.

Avantage: taille unique

« Cross plate-forme » fait référence à la capacité d'un programme à s'exécuter avec succès sur différents types de matériel. Parce que Java est multiplateforme, les développeurs peuvent écrire un seul morceau de code qui s'exécute sur n'importe quel PC, Mac, téléphone portable et tout autre appareil doté d'une JVM. Java n'a pas toujours à s'exécuter dans un navigateur. Vous pouvez télécharger des applications Java qui s'exécutent sur votre bureau comme le font les programmes normaux.

Inconvénient: un certain assemblage peut être requis

Si personne n'a jamais installé Java Runtime Environment sur votre ordinateur, vous ne pouvez pas utiliser Java. Visitez la page Web Vérifier la version Java et suivez les instructions pour télécharger et installer la dernière version si vous ne l'avez pas. Bien que l'installation ne soit pas longue, certains problèmes peuvent survenir. Consultez donc la page de dépannage Java si vous avez besoin d'aide pour que votre installation fonctionne.

Avantages supplémentaires

À un niveau détaillé, Java Virtual Machines utilise son compilateur juste à temps pour convertir le code Java en langage machine de bas niveau qui s'exécute aussi rapidement que les applications classiques. Étant donné que les navigateurs peuvent mettre en cache ce code compilé, ils peuvent le réutiliser ultérieurement sans le télécharger à nouveau et sans passer par les étapes de compilation.