Java-virtuaalikone (engl. Java Virtual Machine, JVM) on abstrakti kone (virtuaalikone), joka suorittaa sille käännettyjä Java-ohjelmia.[1] Virtuaalikone on toteutettu ohjelmallisesti oikean laitteiston ja käyttöjärjestelmän päällä ajettavaksi.[1] Java-kielellä tehdyt ohjelmat käännetään tavukoodiksi ja suoritetaan JVM:llä oikeassa ympäristössä.[1]
Java-virtuaalikoneen avulla voidaan ajaa myös eräillä muilla ohjelmointikielillä tehtyjä ohjelmia, jotka on käännetty JVM:n tukemaksi tavukoodiksi. JVM-spesifikaatio (engl. JVM Specification) kuvaa JVM-toteutuksen formaaliset vaatimukset. Spesifikaatio varmistaa Java-ohjelmien yhteentoimivuuden eri toteutusmuodoissa, jotta Java-kehitystyökaluja (JDK) käyttävien ohjelmiston kehittäjien ei tarvitse huolehtia taustalla olevan laitteistoalustan erilaisuuksista.