JVM
Uma JVM (Java Virtual Machine) é uma especificação abstrata para um dispositivo de computação que pode ser implementado de diferentes formas, em software ou hardware. Você compila o conjunto de instruções de uma máquina virtual da mesma forma que o conjunto de instruções de um microprocessador.
A Java Virtual Machine faz parte do ambiente de runtime Java responsável por interpretar código de bytes Java. Ela consiste em um conjunto de instruções de código de bytes, um conjunto de registros, uma pilha, um heap de coleta de lixo e uma área para métodos de armazenamento. O código de bytes Java é executado por qualquer JVM em processamento na máquina.