Java Virtual Machine, JVM, är det program som "kör" program skrivna i Java. En version av programvaran utvecklades av Sun Microsystems i samband med utvecklandet av programspråket. Sedan Java SE version 7[1] är referensimplementationen OpenJDK.
JVM är, som namnet antyder, en virtuell maskin. Den är alltså inte en maskin (dator) som sådan, utan är en simulerad dator som körs i systemet. Detta innebär att alla program som körs med JVM lider av en liten brist på processorkraft (så kallad overhead) eftersom det också behövs kraft att hålla själva JVM:en igång.
JVM tolkar den java bytekod som skapas när man programmerar Java och kompilerar. Däri ligger också en av Javaspråkets styrkor: man kan köra Javaprogram på alla operativsystem för vilka det finns en JVM byggd. Alla JVM läser bytekoden på samma sätt, det är bara JVM:en som man måste konvertera till en annan plattform. Därmed kan man sprida sina Javaklasser enkelt mellan olika plattformar och operativsystem, och därför lämpar sig Java utmärkt som programspråk på Internet.