Die Kilobyte Virtual Machine (KVM) ist das Kernstück der Java 2 Micro Edition ( J2ME). Sie wurde für Mobilgeräte entwickelt und benötigt nur einen geringen Speicherbedarf, was sich auch in der Bezeichnung Kilobyte Virtual Machine ausdrückt.
Die Kilobyte Virtual Machine ist eine besonders sparsame Laufzeitumgebung, hat einen verringerten Funktionsumfang und unterstützt nicht alle Funktionen der Java Virtual Machine ( JVM). Die Benutzung der KVM-Machine ist in Connected Limited Device Configuration ( CLDC) spezifiziert.
Die funktionalen Einschränkungen der Kilobyte Virtual Machine betreffen die Gleitkommaoperationen. Diese werden nicht unterstützt, weil viele CLDC-Geräte keine Hardware für Gleitkommaoperationen bereitstellen und Software-mäßige Lösungen zu Speicher-intensiv wären. Des Weiteren werden keine native Funktionen unterstützt, da die KVM-Machine kein Java Native Interface (JNI) vorhanden ist. Eine Garbage Collection ist in der KVM-Machine vorhanden, sie kann aber keine Anwender-spezifischen Aufräumarbeiten durchführen. Eine Fehlerbehandlung wie bei der Java Standard Edition ( JSE) ist zwar vorhanden, hat aber eine eingeschränkte Funktionalität.