Spec-Zone .ru
спецификации, руководства, описания, API
След: Механизм Расширения
Урок: Создание и Используя Расширения
Понимание Загрузки Класса Расширения
Домашняя страница > Механизм Расширения > Создание и Используя Расширения

Понимание Загрузки Класса Расширения

Платформа расширения использует class - загружающийся механизм делегации. Когда среда выполнения должна загрузить новый class для приложения, она ищет class в следующих расположениях в порядке:

  1. Классы начальной загрузки: классы времени выполнения в rt.jar, классы интернационализации в i18n.jar, и другие.
  2. Установленные расширения: классы в файлах JAR в каталоге lib/ext JRE, и в специфичном для платформы каталоге расширения в масштабе всей системы (таких как /usr/jdk/packages/lib/ext на Операционной системе Solaris™, но примечание, которое использование этого каталога применяет только к Java™ 6 и позже).
  3. Путь class: классы, включая классы в файлах JAR, на путях определяются системным свойством java.class.path. Если у файла JAR на пути class есть декларация с Class-Path атрибут, файлы JAR, определенные Class-Path атрибут будет искаться также. По умолчанию, java.class.path значение свойства ., текущий каталог. Можно изменить значение при использовании параметров командной строки -classpath ИЛИ -cp, или установку CLASSPATH переменная окружения. Параметры командной строки переопределяют установку CLASSPATH переменная окружения.

Список приоритета говорит Вам, например, что путь class ищется, только если class, который будет загружен, не был найден среди классов в rt.jar, i18n.jar или установленных расширениях.

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

Механизм Загрузки Класса Java

Платформа Java использует модель делегации для того, чтобы загрузить классы. Основная идея состоит в том, что у каждого загрузчика class есть "родительский" загрузчик class. Загружая class, загрузчик class первые "делегаты" поиск class к его родительскому загрузчику class прежде, чем попытаться найти class непосредственно.

Вот некоторые выделения class - загружающийся API:

Чтобы видеть пример приложения, который использует часть API, поскольку он касается файлов JAR, см. Использование связанного с JAR урока API в этом учебном руководстве.

Загрузка класса и Команда java

Платформа Java class - загружающийся механизм отражается в команде java.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Расширения Загрузки
Следующая страница: Создание Безопасных Расширений