Конфигурация Connected Device Configuration (CDC)
Конфигурация Connected Device Configuration (CDC)
Конфигурация Connected Device Configuration (CDC) предназначена лишь для фиксирования основных возможностей каждого вида устройств в категории устройств, для которой она предназначена, а именно, устройств с 2МБ или более полной памяти, включая как RAM, так и ROM.
Как вы видели на рисунке 1.1, конфигурация задает как набор поддерживаемых свойств виртуальной машины Java, так и набор библиотек классов. В CDC определено использование виртуальной машины полной платформы Java 2, которая, в этом контексте, называется компактной виртуальной машиной (Compact Virtual Machine (CVM)).
CVM. Хотя CVM поддерживает те же свойства, что и J2SE VM, она создана для потребительских и встраиваемых устройств. Это означает, что стандарт VM J2SE был модернизирован, чтобы соответствовать ограничениям устройств с ограниченными ресурсами. Сюда включены следующие свойства получившегося в результате продукта CVM:
- улучшенная запоминающая система;
- небольшие временные интервалы сборки мусора в среднем;
- полное отделение виртуальной машины от системы памяти;
- модульные сборщики мусора;
- сборка мусора по поколениям.
В частности, CVM была спроектирована с учетом предоставления следующих свойств:
- портативность;
- быстрая синхронизация;
- выполнение классов Java отдельно от постоянной памяти (ROM);
- поддержка естественных потоков;
- зоны обслуживания малых классов;
- предоставление интерфейсов и поддержка служб операционной системы реального времени (RTOS);
- преобразование потоков Java непосредственно в естественные потоки;
- поддержка всех свойств и библиотек виртуальной машины версии 1.3, Java 2: безопасность, слабые ссылки, Java Native Interface (JNI, собственный интерфейс Java), Remote Method Invocation (RMI, интерфейс вызова удаленных методов), Java Virtual Machine Debugging Interface (JVMDI, интерфейс отладки виртуальной машины Java).
Библиотеки классов в CDC. CDC устанавливает минимальный набор библиотек классов и API. Она поддерживает следующие стандартные пакеты Java:
- java.lang — системные классы виртуальной машины Java;
- java.util — базовые утилиты Java;
- java.net — дейтаграмма Universal Datagram Protocol (UDP) и ввод/вывод (I/O);
- java.io — файловый ввод/вывод Java;
- Java.text — самая минимальная поддержка интернационализации (I18N — смотри главу 9);
- Java.security — минимальная защита на мелком уровне и шифрование сериализации объекта.
Как вы можете видеть, эти API не включают полный набор пакетов набора инструментальных средств разработки программного обеспечения (software development kit (SDK)) Java 2. В некоторых случаях эти пакеты и классы являются подгруппами пакетов и классов Java 2 SDK. Также убраны все устаревшие API J2SE. В таблице 1.1 перечислен полный набор пакетов, поддерживаемых CDC.