Le bytecode Java est un bytecode destiné à regrouper des instructions exécutables par une machine virtuelle Java. Par extension, il désigne un flux d'octets binaire au format d'une classe Java. Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.

Le bytecode est un code binaire, ce qui permet un traitement plus rapide que le code source Java, et qui rassemble (compile) tous les codes dispersés dans différents fichiers lors de l'écriture du programme.

Du bytecode sans Java

modifier

La machine virtuelle Java fonctionne à l'identique sur plusieurs architectures physiques d'ordinateur. Elle n'est pas spécifique au langage Java et de nombreux développeurs l'utilisent pour faire tourner des programmes écrits dans bien d'autres langages que Java (Scala, Groovy, Jython, JRuby, Kotlin, Clojure…). Dans ce cas, un compilateur spécifique traduit les fichiers sources rédigés dans un de ces langages et produit un fichier .class, lequel pourra être exécuté dans une machine virtuelle Java (JVM). Il est possible de créer une application dont des morceaux sont écrits dans plusieurs de ces langages. On peut ainsi créer une classe Python qui hérite d'une classe Java, et inversement.

Assembleurs de bytecode

modifier

Les fichiers binaires de classes Java (les .class) peuvent aussi être générés au moyen d'assembleurs de bytecode, qui permettent de contourner certains aspects du langage Java. Par exemple, alors que les appels de méthode sont résolus dynamiquement par le compilateur (à certaines exceptions près, comme les méthodes privées), il est possible, à l'aide d'un assembleur de bytecode, de lier statiquement les appels de fonctions, comme à l'aide des opérateurs de qualification de Simula (Qua) ou du C++ (::<nom de classe>).

Voir aussi

modifier

Articles connexes

modifier
  • Apache BCEL : manipulation du bytecode Java en Java
  • ASM, une alternative à BCEL

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

Java (langage)

architectures ; des compilateurs Java qui compilent le code source « à moitié » afin d’obtenir un bytecode (plus précisément le bytecode Java, un langage de type assembleur

Bytecode

programme Java est habituellement transmis sous forme de bytecode à une machine hôte qui utilisera une compilation à la volée pour traduire le bytecode en code

Vérification de bytecode Java Card

Articles principaux : Java Card et Interprétation abstraite. La vérification du bytecode d'applications Java Card est utilisée pour assurer la sécurité

Machine virtuelle Java

virtuelle Java (en anglais Java virtual machine, abr. JVM) est une machine virtuelle qui exécute des programmes compilés sous forme de bytecode Java. L'appareil

Plateforme Java

appelé le compilateur Java permet de convertir les codes source Java en bytecode Java (un langage intermédiaire destinée à la JVM (Java Virtual Machine ou

Liste des machines virtuelles Java

propriétaire IM1000 et IM3000 qui permet l'exécution de microcode java bytecode. Apogee fournit du Java embarqué utilisant IBM J9 et Apache Harmony (en) bibliothèque

Applet Java

applet Java est un applet, fourni aux utilisateurs sous la forme de bytecode Java. Cette technologie est dépréciée depuis la version 9 de java. Un applet

Java Development Kit

programmation Java, ainsi que les outils avec lesquels le code Java peut être compilé, transformé en bytecode destiné à la machine virtuelle Java. Il existe