thumb|400px|Przegląd architektury JVM. Kod programu napisanego np. w Javie lub Pythonie jest kompilowany do postaci kodu bajtowego, który następnie może być wykonany przez maszynę wirtualną na różnych urządzeniach. Maszyna wirtualna jest odpowiedzialna za ukrycie różnic między poszczególnymi platformami tak, że teoretycznie ten sam program można uruchomić w każdym miejscu.
Wirtualna maszyna Javy (, ) – maszyna wirtualna oraz środowisko zdolne do wykonywania kodu bajtowego Javy. Według szacunków różnych firm i autorów publikacji, liczba urządzeń wyposażonych w JVM wynosi 10 miliardów, w tym 1 miliard komputerów, a liczba programistów tworzących oprogramowanie na tę platformę – 6,5 do 9 milionówJavaOne 2013 Review: Java Takes on the Internet of Things.
Przegląd Wirtualna maszyna Javy to zestaw aplikacji napisanych na tradycyjne urządzenia i systemy operacyjne. Dostarcza środowiska, w którym może się wykonywać program skompilowany do postaci kodu bajtowego Javy, zapewniając takie usługi, jak odśmiecanie pamięci czy obsługę wyjątków oraz bibliotekę standardową. W zależności od potrzeb i liczby dostępnych narzędzi, wyróżniane są dwie główne dystrybucje: