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