Категории раздела
J2me|java [29]
Basic [6]
Delphix [21]
C+|C++|C# [3]
Pascal [10]
Другие [0]
языки которые не войшли в верхние разделы
Главная » Статьи » Программирования » J2me|java

Конфигурация Connected Device Configuration (CDC)

Конфигурация Connected Device Configuration (CDC) предназначена лишь для фиксирования основных возможностей каждого вида устройств в категории устройств, для которой она предназначена, а именно, устройств с 2МБ или более полной памяти, включая как RAM, так и ROM.


Как вы видели на рисунке 1.1, конфигурация задает как набор поддерживаемых свойств виртуальной машины Java, так и набор библиотек классов. В CDC определено использование виртуальной машины полной платформы Java 2, которая, в этом контексте, называется компактной виртуальной машиной (Compact Virtual Machine (CVM)).


CVM. Хотя CVM поддерживает те же свойства, что и J2SE VM, она создана для потребительских и встраиваемых устройств. Это означает, что стандарт VM J2SE был модернизирован, чтобы соответствовать ограничениям устройств с ограниченными ресурсами. Сюда включены следующие свойства получившегося в результате продукта CVM:

  • улучшенная запоминающая система;
  • небольшие временные интервалы сборки мусора в среднем;
  • полное отделение виртуальной машины от системы памяти;
  • модульные сборщики мусора;
  • сборка мусора по поколениям.
В частности, CVM была спроектирована с учетом предоставления следующих свойств: 

  • портативность;
  • быстрая синхронизация;
  • выполнение классов Java отдельно от постоянной памяти (ROM);
  • поддержка естественных потоков;
  • зоны обслуживания малых классов;
  • предоставление интерфейсов и поддержка служб операционной системы реального времени (RTOS);
  • преобразование потоков Java непосредственно в естественные потоки;
  • поддержка всех свойств и библиотек виртуальной машины версии 1.3, Java 2: безопасность, слабые ссылки, Java Native Interface (JNI, собственный интерфейс Java), Remote Method Invocation (RMI, интерфейс вызова удаленных методов), Java Virtual Machine Debugging Interface (JVMDI, интерфейс отладки виртуальной машины Java).
Библиотеки классов в CDC. CDC устанавливает минимальный набор библиотек классов и API. Она поддерживает следующие стандартные пакеты Java: 

  • java.lang — системные классы виртуальной машины Java;
  • java.util — базовые утилиты Java;
  • java.net — дейтаграмма Universal Datagram Protocol (UDP) и ввод/вывод (I/O);
  • java.io — файловый ввод/вывод Java;
  • Java.text — самая минимальная поддержка интернационализации (I18N — смотри главу 9);
  • Java.security — минимальная защита на мелком уровне и шифрование сериализации объекта.
Как вы можете видеть, эти API не включают полный набор пакетов набора инструментальных средств разработки программного обеспечения (software development kit (SDK)) Java 2. В некоторых случаях эти пакеты и классы являются подгруппами пакетов и классов Java 2 SDK. Также убраны все устаревшие API J2SE. В таблице 1.1 перечислен полный набор пакетов, поддерживаемых CDC. 

Таблица 1.1. Пакеты CDC 


Название пакета CDC

Описание

java.io

Стандартные классы и интерфейсы ввода/вывода

java.lang

Классы виртуальной машины

java.lang.ref

Классы для работы с ссыпками на объекты

Java . lang. reflect

Классы и интерфейсы, поддерживающие отражение (динамическую информацию о классах)

Java .math

Математический пакет

Java .net

Сетевые классы и интерфейсы

Java. security

Классы и интерфейсы безопасности

Java . security .cert

Классы сертификации безопасности

Java . text

Текстовой пакет

Java . util

Классы стандартных утилит

Java .util . jar

Классы утилиты архиватора Java (JAR)

Java .util . zip

Классы утилиты ZIP

javax.microedition.io

Классы и интерфейсы структуры общих соединений CDC


Профиль Foundation Profile. Конфигурация вместе с профилем формирует исполняемую среду J2ME. Свойства и службы системного уровня, поддерживаемые конфигурацией, более или менее спрятаны от разработчика приложений. В действительности разработчику приложения запрещен прямой доступ к ним. Если это не было соблюдено, приложение не будет считаться соответствующим требованиям J2ME. 
 
С точки зрения программиста профиль необходим для «полезной» работы. Профиль определяет уровень, который содержит АРГи, с которыми программист обычно имеет дело. Создатели J2ME в начале задали один профиль CDC, профиль Foundation, который основан на выпуске J2SE версии 1.3. Он был разработан стандартным комитетом Java Community Process, экспертной группой компаний, работающих в сфере потребительских электронных товаров. Профиль Foundation содержит в себе пакеты J2SE, перечисленные в таблице 1.2.
 

Таблица 1.2. Пакеты профиля Foundation

Название пакета профиля Foundation

Описание

java.lang

Дополняет поддержку языка Java пакета java.lang.* J2SE (Compiler, UnknownError)

java.util

Добавляет полную поддержку zip и другие утилиты J2SE (java.util. Timer)

Java .net

Добавляет TCP/IP Socket и соединения HTTP

java.io

Дополняет поддержку ввода/вывода языка Java пакета Java , io . * J2SE (классыReader и Writer)

Java .text

Дополняет поддержку интернационализации пакета Java. text.* J2SE (I18N): Annotation, Collator, Iterator

Java. security

Добавляет подпись и сертификацию кодов

Вышеуказанный список пакетов выглядит точно так, как список, который включает в себя CDC. В действительности они одинаковы. Говоря, что профиль Foundation заключает в себе эти пакеты, мы на самом деле имеем в виду, что они доступны профилю Foundation. Замысел заключается в том, что профиль Foundation используется с CDC. Различие между профилем и конфигурацией заключается в понятиях, но не в физическом отношении.

Отметьте, что вся иерархия java.awt Abstract Window Toolkit (AWT, абстрактного оконного инструментария) иJava.swing пакета Swing, которая определяет API графического пользовательского интерфейса (GUI), отсутствует в поддерживаемых пакетах. Если приложению необходим GUI, потребуется дополнительный профиль. Профили могут быть внедрены поверх друг друга. Продукт платформы J2ME, однако, может содержать только одну конфигурацию.

Отсутствие поддержки GUI в профиле Foundation имеет меньшее воздействие на семейство постоянно подключенных сетевых устройств с общим доступом, таких, как компьютерные приставки к телевизору, чем оно влияет на персональные мобильные устройства, с которыми работают при помощи второй конфигурации J2ME, CLDC.

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

Профиль Personal Profile. Спецификация профиля Personal была разработана в Java Community, конечным результатом которой стал JSR-62. Профиль Personal обеспечивает среду с полной поддержкой AWT. Замысел его создателей заключался в том, чтобы обеспечить платформу, подходящую для Web-апплетов. Он также предоставляет способ перемещения J2ME для приложений Personal Java.

Профиль Personal версии 1.0 требует внедрения профиля Foundation версии 1.0. Это расширенный набор профиля Personal Basis Profile версии 1.0. Однако профиль Personal является подгруппой платформы J2SE версии 1.3.1, которая дает приложениям, созданным в профиле Personal, большую совместимость снизу вверх с J2SE версии 1.3.1.

В таблице 1.3 перечислены пакеты, которые включены в профиль Personal версии 1.0.

Таблица 1.3. Пакеты профиля Personal

Название пакета профиля Personal

Описание

Java. applet

Классы, необходимые для создания апплетов, и используемые апплетами

Java .awt

Классы AWT для создания пользовательского интерфейса программ

Java . awt . data transfer

Классы и интерфейсы для пересылки данных внутри и между приложениями

]ava .awt .event

Классы и интерфейсы для обработки событий AWT

Java. awt . font

Классы и интерфейсы для работы со шрифтами

Java. awt . im

Классы и интерфейсы для описания редакторов методов ввода

Java .awt. im. spi

Интерфейсы, которые помогают в разработке редакторов методов ввода для любой среды исполнения Java

Java .awt . image

Классы для создания и изменения изображений

Java. beans

Классы, которые поддерживают разработку компонентов JavaBean

javax.microedition.xlet

Интерфейсы, используемые приложениями и диспетчерами приложений профиля J2ME Personal для коммуникации

Профиль RMI. Профиль RMI является профилем, созданным для платформ, которые поддерживают конфигурацию CDC. Он был задан JSR-66 и определен различными компаниями, принимавшими участие в Java Community Process.

Профиль RMI требует внедрения профиля Foundation и внедряется поверх него. Продукты профиля RMI должны поддерживать следующие свойства:

  • полную семантику RMI вызовов;
  • поддержку объектов маршалинга;
  • RMI проводного протокола;
  • экспорт удаленных объектов через API UnicastRemoteObject;
  • распределенную сборку мусора и интерфейсы еборщика мусора как для клиента, так и для сервера;
  • интерфейс активатора и протокол активации для клиента;
  • интерфейсы реестра RMI и экспорт реестра удаленных объектов.

Профиль RMI поддерживает подгруппу RMI API J2SE в. 1.3. Следующие интерфейсы и свойства являются частью спецификации RMI J2SE в. 1.3 и публичных API, но поддержка этих интерфейсов и функциональных возможностей исключена из технических требований профиля RMI из-за ограниченности вычислительных мощностей устройств, сетевой производительности и пропускной способности:

  • RMI через брандмауэры и прокси;
  • RMI мультиплексный протокол;
  • модель реализации «активизируемого» («activatable») удаленного объекта;
  • нерекомендуемые методы, классы и интерфейсы;
  • поддержка протокола скелетона/заглушки для RMI в. 1.1;
  • компилятор скелетона и заглушки.

Поддержка следующих свойств J2SE RMI в. 1.3 не включена:

  • Java. rmi. server. disableHttp;
  • Java.rmi.activation.port;
  • Java.rmi.loader.packagePrefix;
  • Java.rmi.registry.packagePrefix;
  • java.rmi.server.packagePrefix.
Категория: J2me|java | Добавил: graimp (03.01.2012)
Просмотров: 161 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Наш опрос
На каком языке лучше программировать
Всего ответов: 38
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0