Ceci est réalisé en compilant le code de langage Java à une représentation intermédiaire appelée Java bytecode, au lieu d'un code machine spécifique à la plate-forme.
Java fait cela en faisant le code de virage du compilateur Java en Java bytecode au lieu du code machine.