Виртуальная машина, используемая в конфигурации CLDC, несколько отличается от обычной виртуальной машины задействованной в Java, но обязана оставаться совместимой со спецификацией этой виртуальной машины (Java Virtual Machine Specification). Виртуальная машина находится непосредственно в телефоне и за совместимостью с общепринятой спецификацией обязаны следить производители мобильных телефонов. Сама же виртуальная машина носит название Kilobyte Virtual Machine (KVM) из-за своей компактности и также имеет ряд недоступных свойств:
1) не поддерживаются операции с дробными числами (floating point);
2) нельзя создать класс загрузчик (class loader);
3) отсутствует механизм отражения (reflection);
4) не реализован Java Nativ интерфейс (Java Native Interface);