Compilateur Java

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un compilateur Java est un compilateur pour le langage de programmation Java[Quoi ?]. Le format de sortie le plus courant pour un compilateur Java est des fichiers .class contenant le bytecode Java plate-forme agnostique. Il existe aussi des compilateurs produisant du code machine optimisé pour une combinaison matériel/système d'exploitation particulière.

La machine virtuelle Java (JVM) charge les fichiers .class et interprètes le bytecode ou le compile à la volée et peut également l'optimiser en utilisant la compilation dynamique.

Exemples de compilateurs java[modifier | modifier le code]

Autres[modifier | modifier le code]


Historique et perspectives[modifier | modifier le code]

Le premier compilateur java a été celui de Sun, diffusé avec le langage Java.


Fonctionnement et Théorie[modifier | modifier le code]

Les compilateurs Java sont en général distribués en tant qu'outils en ligne de commande, même si des IDE existent. Il existe également une Java Compiler API (JSR 199).

Les compilateurs Java ont la particularité de compiler le langage java en un byte code Java.

Apports et limitations[modifier | modifier le code]

Apports[modifier | modifier le code]

Le compilateur Java offre de l'interopérabilité et de la portabilité, tant au niveau du code source, du code binaire produit que de son invocation.

Certains compilateurs Java sont d'usage gratuit. D'autres sont open source.

Limitations[modifier | modifier le code]

Standardisation et normalisation[modifier | modifier le code]

Les compilateurs Java doivent respecter les spécifications publiées par Sun microsystems. Il s'agit des spécifications Java Language Specification et The Java Virtual Machine Specification[1].

En plus de son travail de compilation, le compilateur peut traiter les annotations, en accord avec la JSR 269: Pluggable Annotation Processing API[2].

Usages et applications[modifier | modifier le code]

Aspects économiques et sociaux[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. http://docs.oracle.com/javase/specs/
  2. https://jcp.org/en/jsr/detail?id=269

Bibliographie[modifier | modifier le code]

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Vocabulaire et notations[modifier | modifier le code]