Unamàquina virtual Java (MVJ) és un conjunt de programes d'ordinador i estructures de dades que implementen un model específic demàquina virtual. Aquest model accepta un tipus de llenguatge intermedi, anomenat normalment amb bytecode, conceptualitzant aquest representa el conjunt d'instruccions d'unllenguatge de programació basat en pila i una capa d'arquitectura orientada a la seguretat. Aquest codi majoritàriament està generat pelscompiladors delllenguatge Java, encara que la MVJ també pot estar construïda per compiladors d'altres llenguatges. Les MVJ que fan ús de la marca registrada Java, haurien d'estar desenvolupades per altres companyies, en tant que s'adhereixen a l'[1] publicat per Sun.
La MVJ és un component crucial de laplataforma Java. A causa del fet que les MVJ estan disponibles per moltes plataformes demaquinari i deprogramari, Java, tant pot ser un middleware i una plataforma de ple dret -d'aquí l'expressióescriu un cop, executa arreu, La utilització del mateixbytecode per a totes les plataformes, permet a Java descriure's com "escriu un cop, executa arreu", en contraposició a l"'escriu un cop, compila arreu". La MVJ permet funcionalitats úniques, com laGestió automàtica d'excepcions, que proporciona informació de depuració per a qualsevol error en el programari (excepcions) independents del codi font.