Java Platform, Micro Edition


Java Platform, Micro Edition (Java ME, ранее — Java 2 Micro Edition, J2ME) — подмножество платформы Java для устройств, ограниченных в ресурсах, например: сотовых телефонов, карманных персональных компьютеров, ресиверов цифрового телевидения, проигрывателей дисков Blu-ray.

Java ME разработана под руководством Sun Microsystems и является заменой похожей технологии — PersonalJava[en]. Изначально спецификация разрабатывалась в рамках JCP (Java Community Process) как JSR 68. Позже её варианты развились в отдельные JSR. Sun предоставляет образец реализации (англ. reference implementation) спецификации, но до недавнего времени не предоставляла бесплатной реализации среды выполнения (англ. runtime environment) Java ME для мобильных устройств. 22 декабря 2006 исходный код Java ME был выпущен под лицензией GNU General Public License, проект получил название phoneME[1].

Отличительными особенностями устройств с ограниченными ресурсами являются ограниченная вычислительная мощность, ограниченный объём памяти, малый размер дисплея, питание от портативной батареи, а также низкоскоростные и недостаточно надёжные коммуникационные возможности. Типичный мобильный телефон середины двухтысячных содержит внутри 32-разрядный RISC-процессор с тактовой частотой 150—250 МГц, имеет объём оперативной памяти около 1—2 Мб, цветной дисплей с разрешением 176x208/220 или 240×320 пикселей и имеет возможность соединения с Интернетом посредством GPRS или EDGE со скоростью до 474 кбит/с или 3G.

Java ME специфицирует две базовые конфигурации, которые определяют требования к виртуальной машине (ограничение набора допустимых инструкций и др.), а также минимальный набор базовых классов: CLDC (Connected Limited Device Configuration — конфигурация устройства с ограниченными ресурсами и коммуникационными возможностями) и CDC (Connected Device Configuration — конфигурация устройства с нормальными ресурсами и коммуникационными возможностями).

Конфигурация CLDC успешно используется в большинстве мобильных телефонов и портативных органайзеров. По данным компании Sun Microsystems, к концу 2004 года в мире было выпущено более 579 миллионов мобильных устройств с поддержкой этой конфигурации Java. Это делало Java ME доминирующей технологией Java в мире.

Java ME также определяет несколько так называемых профилей (англ. profiles), которые дополняют и расширяют упомянутые выше конфигурации, в частности, определяют модель приложения, возможности графического интерфейса, а также коммуникационные функции (например, доступ к Интернету) и др.