Connected Limited Device Configuration

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Connected Limited Device Configuration (CLDC) — стандарт конфигурации Java ME для подключаемых к сети устройств с ограниченными вычислительными возможностями, таких как мобильные телефоны или пейджеры. Конфигурация — одна из частей, задающих платформу Java ME. Второй частью является профиль. Платформа, состоящая из CLDC и MIDP, в настоящее время наиболее распространена на рынке мобильных телефонов. На многих устройствах такая платформа расширена некоторым количеством дополнительных API, например интерфейсом 3D графики. Стандарт CLDC был разработан в рамках Java Community Process как JSR 30 (CLDC версии 1.0), и JSR 139 (CLDC 1.1).

Целевое устройство[править | править вики-текст]

Конфигурация описывает устройство, на которое может быть установлена, следующим образом[1].

Основные отличия версии 1.1[править | править вики-текст]

CLDC 1.1 является прямым продолжением CLDC 1.0, и обладает полной обратной совместимостью. Следующие возможности были добавлены в новую версию[2].

  • Поддержка чисел с плавающей точкой. Здесь следует иметь в виду, что обязательным является поддержка типов float и методов для работы с ними в языке Java, что не означает требования их аппаратной поддержки процессором. Например, наиболее распространенные на рынке мобильных телефонов процессоры ARM такой возможностью не обладают, хотя множество телефонов, использующих этот процессор, имеют конфигурацию CLDC 1.1 (используется Эмуляция)
  • Добавлена возможность работы со слабыми ссылками (англ. Weak references)
  • Требования к ПЗУ увеличены со 160 до 192 килобайт
  • Некоторые интерфейсы переработаны для увеличения совместимости с Java SE
  • В спецификацию внесены различные исправления и уточнения неоднозначных мест

Основные интерфейсы[править | править вики-текст]

Интерфейсы CLDC в основном являются подмножеством аналогичных интерфейсов «большой» Java — Java SE.

  • java.lang — фундаментальные классы, используемые большинством программ Java. Например, Integer, String, математические функции, работа с потоками
  • java.io — набор базовых классов ввода-вывода
  • java.util — набор вспомогательных классов: работа с массивами и с датой/временем
  • java.lang.ref — добавленная в CLDC 1.1 возможность работы со слабыми ссылками
  • java.security — система безопасности (разграничение доступа к системным ресурсам)
  • javax.microedition.io — расширенный интерфейс ввода вывода, для работы с различного рода соединениями

Профили[править | править вики-текст]

Конфигурация описывает только низкоуровневую часть платформы: возможности языка Java, его виртуальной машины, и базовые классы. Конфигурация призвана объединять все устройства со сходными вычислительными возможностями, независимо от их назначания.

Более высокоуровневой частью платформы является профиль. Предполагается, что профиль будет задаваться для каждого крупного класса устройств (мобильные телефоны, игровые автоматы, бытовые приборы).[3]

Mobile Information Device Profile[править | править вики-текст]

MIDP описывает профиль Java ME для мобильных телефонов. Он включает в себя набор классов для построения графического интерфейса на экране жидкокристаллического дисплея. Приложения, написанные для этого профиля, называются Мидлетами. Почти все новые сотовые телефоны поддерживают MIDP одной из версий, и это сейчас де-факто стандарт скачиваемых игр для телефонов.

Information Module Profile[править | править вики-текст]

IMP (JSR-195) — стандарт Информационного Модуля. Целевые классы устройств — торговые автоматы, маршрутизаторы, и другие устройства, с очень простым, или вообще без дисплея, но обладающие неким сетевым соединением. Этот стандарт представляет собой подможество интерфейсов MIDP 1.0. Основное отличие от MIDP - отсутствие классов для работы с графическим интерфейсом.

Другие профили[править | править вики-текст]

Существуют также профили, не стандартизированные в рамках JCP, например, DoJa.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Спецификации CLDC 1.1.1/1.0, пункт 2.1 (Goals)
  2. Спецификация CLDC 1.1.1, пункт 1.2 (Main Differences Between CLDC Specification Versions 1.1 and 1.0)
  3. Описание KVM и CLDC, параграфы «J2ME Building Blocks: Configurations and Profiles» и «J2ME Profiles»

Ссылки[править | править вики-текст]