La traduction a lieu en Java car Java est un langage de haut niveau qui ne peut pas être exécuté par un ordinateur tant qu'il n'est pas traduit dans un langage de bas niveau (ces langages sont parfois appelés « langages machine » ou « langages assembleur »).
Quoi qu'il en soit, la traduction en Java (et dans la plupart des langues) se fait de deux manières : la compilation et l'interprétation.
La chose étrange à propos de Java est qu'il peut être à la fois compilé et interprété. En effet, plutôt que de devoir traduire les programmes Java dans le type de langage machine de bas niveau mentionné ci-dessus, le compilateur Java génère du code d'octet Java.
Ce byte code est similaire au langage machine (donc une machine peut l'interpréter) mais il est également considéré comme portable (une qualité d'un langage de haut niveau) ce qui signifie que le byte code peut être automatiquement transféré et interprété sur une autre machine.
Voilà un bref aperçu du fonctionnement de la traduction en Java !