Java Platform, Micro Edition
Java 2 Microedition (J2ME) — подмножество технологий фирмы Sun Microsystems, основанное на концепции Java-платформы, и предназначенное для выполнении приложений, написанных на языке Java, на устройствах бытовой электроники, например мобильных телефонах, персональных органайзерах, цифровых телевизионных ресиверах и т. п. Основой J2ME является виртуальная машина, способная исполнять байт-код языка Java.
J2ME задумана для того, чтобы обеспечить эффективное исполнение Java-приложений на устройствах бытовой электроники, отличительной особенностью которых является ограниченная вычислительная мощность, ограниченный объём памяти, малый размер дисплея, питание от портативной батареи, а также низкоскроростные и недостаточно надежные коммуникационные возможности. Типичный современный мобильный телефон содержит внутри 32-разрядный RISC процессор с тактовой частотой 50 МГц, имеет объем оперативной памяти около 4 Мб, цветной дисплей размером 4 дюйма и имеет возможность GPRS соединения с Интернетом со скоростью максимум 172 Кб/с (которое при этом фундаментально ненадёжно, скорость передачи данных может неожиданно упасть или соединение может быть вообще полностью потеряно).
J2ME специфицирует две базовые конфигурации, которые определяют требования к виртуальной машине (иначе говоря, определяют подмножество стандартного языка Java, которое виртуальная машина способна выполнять), а также минимальный набор базовых классов. В настоящее время в J2ME имеется две конфигурации — CLDC (Connected Limited Device Configuration — конфигурация устройства с ограниченными коммуникационными возможностями) и CDC (Connected Device Configuration — конфигурация устройства с нормальными коммуникационными возможностями).
J2ME также определяет несколько так называемых профилей (profiles), которые дополняют и расширяют упомянутые выше конфигурации, в-частности определяют модель приложения (программы на языке Java, совместимой с конкретным профилем), возможности графического интерфейса (т. е. отображения информации на дисплее устройства и способы получения команд от пользователя), также коммуникационные функции (например доступ к Интернету) и пр.
В настоящее время самой распространенной конфигурацией является CLDC, для которого разработан профиль MIDP (Mobile Information Device Profile — профиль для мобильного устройства с информационными функциями). MIDP определяет понятие мидлета (MIDlet) — компактного приложения на языке Java, имеющего небольшой размер (менее 100 килобайт), что делает его пригодным для передачи его по сети и установки на мобильном устройстве.
Конфигурация CLDC+MIDP успешно используется на большинстве современных мобильных телефонах и портативных органайзерах. По данным компании Sun Microsystems к концу 2004 года в мире было выпущено более 570 миллионов мобильных устройств с поддержкой этой конфигурации Java. Это делает J2ME доминирующей технологией Java в мире. Объёмы производства мобильных телефонов значительно превышают количество других компьютерных устройств, способных исполнять приложения на Java (например, персональных компьютеров).