The Kilobyte Virtual Machine (KVM) is the core of the Java 2 Micro Edition( J2ME). It was developed for mobile devices and requires only a small amount of memory, which is also expressed in the name Kilobyte Virtual Machine.
The Kilobyte Virtual Machine is a particularly economical runtime environment, has a reduced range of functions and does not support all the functions of the Java Virtual Machine( JVM). The use of the KVM machine is specified in Connected Limited Device Configuration( CLDC).
The functional limitations of the Kilobyte Virtual Machine relate to floating point operations. These are not supported because many CLDC devices do not provide hardware for floating point operations and software-like solutions would be too memory intensive. Furthermore, native functions are not supported because the KVM machine does not have a Java Native Interface (JNI). Garbage collection is present in the KVM engine, but it cannot perform user-specific cleanup. Error handling like Java Standard Edition( JSE) is present, but has limited functionality.