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. 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. 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++ (::). Jasmin Oolong Apache BCEL : manipulation du bytecode Java en Java ASM, une alternative à BCEL Spécification du jeu d'instructions de la machine virtuelle Catégorie:Java (langage) Ca

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.