Makina virtuale e Java (ang.Java Virtual Machine ose shkurtJVM) paraqet një grumbull të programeve kompjuterike si dhe strukturave të dhënave të cilat duke e shfrytëzuar konceptin emakinës virtuale ekzekutojnë programe dhe skripte[1]. Modeli i cili shfrytëzohet nga JVM merret me një gjuhë ndërmjetësuese kompjuterike e cila njihet siJavabajtkod (ang.bytecode).
Pra, JVM funksionon me Java bajtkodin i cili zakonisht (mirëpo jo patjetër) prodhohet nga kodi burimor që është bë në gjuhën programuese Java. Duhet cekur që JVM mund të shfrytëzohet edhe për gjuhë tjera programuese. Për shembull, kodi burimor që është bë në gjuhën programueseAda mund të përpilohet në Java bajtkod, i cili më pas mund të ekzekutohet nga JVM.
JVM është pjesë kritike eplatformës Java. Për shkak se JVM1 ofrohet për platforma të ndryshme harduerike dhe softuerike, programet në gjuhën programuese Java mund tëshkruhen një herë dhe të ekzekutohen kudo.