La macchina virtuale Java (detta anche Java Virtual Machine o JVM) è il componente della piattaforma Java responsabile per l'esecuzione dei programmi in formato bytecode.
Tipicamente un programma in formato bytecode può essere ottenuto dalla compilazione di un programma equivalente in un linguaggio di programmazione di livello più alto. Tra i vari che possono essere tradotti in Java bytecode figurano Java, Groovy, Clojure, Scala, Kotlin.[1]