Чтение онлайн

на главную - закладки

Жанры

Шрифт:

— сборка мусора по поколениям.

В частности, 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Классы и интерфейсы для пересылки данных внутри и между приложениями

Java.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 для коммуникации

Поделиться:
Популярные книги

Зодчий. Книга VI

Погуляй Юрий Александрович
6. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга VI

Горизонт Вечности

Вайс Александр
11. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Горизонт Вечности

Как прорастают зерна

Волкова Дарья
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Как прорастают зерна

Дважды одаренный. Том VIII

Тарс Элиан
8. Дважды одаренный
Фантастика:
боевая фантастика
альтернативная история
аниме
попаданцы
5.00
рейтинг книги
Дважды одаренный. Том VIII

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Геном хищника. Книга шестая

Гарцевич Евгений Александрович
6. Я - Легенда!
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Геном хищника. Книга шестая

Бродяга

Первухин Андрей Евгеньевич
1. Бродяга
Фантастика:
попаданцы
5.40
рейтинг книги
Бродяга

Требую развода! Что значит- вы отказываетесь?

Мамлеева Наталья
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Требую развода! Что значит- вы отказываетесь?

Князь Целитель 8

Ткачев Андрей Юрьевич
8. Князь Целитель
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Князь Целитель 8

Эволюционер из трущоб. Том 9

Панарин Антон
9. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 9

Идеальный мир для Лекаря 28

Сапфир Олег
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 28

Кровь на клинке

Трофимов Ерофей
3. Шатун
Фантастика:
боевая фантастика
попаданцы
альтернативная история
6.40
рейтинг книги
Кровь на клинке

Сфирот

Прокофьев Роман Юрьевич
8. Стеллар
Фантастика:
боевая фантастика
рпг
6.92
рейтинг книги
Сфирот

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II