O programa Java foi a primeira linguagem a combinar os dois métodos acima usando uma máquina virtual Java (JVM). O compilador de código Java é chamado máquina virtual Java. Qualquer arquivo Java é compilado primeiro em código de bytes. O código de bytes Java só pode ser executado na JVM. A JVM então interpreta o código de bytes para executá-lo na plataforma de hardware subjacente. Portanto, se a aplicação estiver sendo executada em uma máquina Windows, a JVM a interpretará para o Windows. Mas se estiver sendo executada em uma plataforma de código aberto como Linux, a JVM vai interpretá-la para o Linux.