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 Архивная копия от 25 июля 2008 на Wayback Machine, параграфы «J2ME Building Blocks: Configurations and Profiles» и «J2ME Profiles»

Ссылки править