Connected Limited Device Configuration ( CLDC ) — это спецификация фреймворка для приложений Java ME , описывающая базовый набор библиотек и функций виртуальной машины, которые должны присутствовать в реализации. CLDC объединяется с одним или несколькими профилями, чтобы предоставить разработчикам платформу для создания приложений на встраиваемых устройствах с очень ограниченными ресурсами, такими как пейджеры и мобильные телефоны . [1] CLDC был разработан в рамках Java Community Process как JSR 30 [2] (CLDC 1.0) и JSR 139 [3] (CLDC 1.1).
CLDC разработан для устройств с ограниченной вычислительной мощностью, памятью и графическими возможностями. Устройства обычно имеют следующие характеристики: [1]
По сравнению со средой Java SE несколько API полностью отсутствуют, а некоторые API изменены таким образом, что код требует явных изменений для поддержки CLDC. В частности, некоторые изменения представляют собой не просто отсутствие классов или интерфейсов, а фактически изменяют сигнатуры существующих классов в библиотеке базовых классов. Примером этого является отсутствие интерфейса Serializable
, который не отображается в библиотеке базовых классов из-за ограничений на использование отражения. Все java.lang.*
классы, которые обычно реализуют Serializable
, не реализуют, таким образом, этот интерфейс тегирования .
Другие примеры ограничений зависят от используемой версии, поскольку некоторые функции были повторно введены в версии 1.1 CLDC. [4]
Serializable
не поддерживается.java.lang.reflect
из его классов не поддерживаются.java.lang.Class
которых получаются конструкторы, методы или поля.Object.finalize()
метод.Профиль — это набор API, которые поддерживают устройства с различными возможностями и ресурсами в рамках CLDC, чтобы обеспечить полную среду приложений Java. Существуют специальные профили для устройств, начиная от торговых автоматов и заканчивая телевизионными приставками, причем наиболее распространенным является профиль мобильного телефона MIDP . [5]
Профиль мобильного информационного устройства — это профиль, разработанный для сотовых телефонов. Доступны две версии MIDP, указанные в JSR 37 [6] [7] (MIDP 1.0) и JSR 118 [8] [9] (MIDP 2.0). Обе версии предоставляют API GUI, ориентированный на ЖК-дисплей , причем MIDP 2.0 включает базовый API для 2D-игр. Приложения, написанные для использования этого профиля, называются MIDlets . Многие сотовые телефоны поставляются с реализацией MIDP, и это популярная платформа для загружаемых игр для сотовых телефонов. [10]
Профиль информационного модуля указан в JSR 195 [11] и предназначен для торговых автоматов , сетевых карт, маршрутизаторов, телефонных будок и других систем с простым или отсутствующим дисплеем и некоторой формой ограниченного двухстороннего сетевого доступа. Определены только API для создания приложений, хранения и сетевого доступа. Они являются подмножеством пакетов javax.microedition.io, rms и midlet в MIDP. Siemens Mobile и Nokia выдвинули эту спецификацию в JCP.
Профиль DoJa был разработан для мобильного телефона i-mode компанией NTT DoCoMo .
Профиль Digital Set Top Box , указанный в JSR 242, [12] предназначен для кабельного рынка. Также называемый OnRamp , этот профиль основан на подмножестве OpenCable Application Platform ( OCAP ), которая определяет набор API для разработки приложений для приставок и подобных устройств. Профиль состоит из подмножеств из CDC Personal Basis Profile, включая поддержку AWT , Xlet , доступа к файлам и сетевых API, а также нескольких интерфейсов, связанных с медиа, из OCAP. Весь профиль охватывает 31 пакет Java и около 1500 API. [5]
Дополнительные пакеты PDA указаны в JSR-75 [13] и разработаны для таких PDA, как устройства Palm или Windows CE . Спецификация определяет два независимых пакета, которые представляют важные функции, имеющиеся во многих PDA и других мобильных устройствах. Эти пакеты :
java.io
java.lang
java.util
java.util
коллекций. Этот пакет содержит классы коллекций, такие как Vector и Hashtable . Он также содержит классы календаря и даты.