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ète le bytecode ou le compile à la volée et peut également l'optimiser en utilisant la compilation dynamique.