Интерфейс ClassLoaderReference
- Все суперинтерфейсы:
Mirror, ObjectReference, Value
public interface ClassLoaderReference extends ObjectReference
ObjectReference с дополнительным доступом к информации о загрузчике классов из целевой виртуальной машины. Экземпляры ClassLoaderReference получаются при вызовах ReferenceType.classLoader()
- Начиная с:
- 1.3
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе ObjectReference
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
INVOKE_NONVIRTUAL |
Выполняет невиртуальный вызов метода |
static final int |
INVOKE_SINGLE_THREADED |
Выполняет вызов метода, возобновляя только вызывающий поток |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
definedClasses() |
Возвращает список всех классов, определённых этим загрузчиком классов. |
List |
visibleClasses() |
Возвращает список всех классов, которые этот загрузчик классов может найти по имени с помощью ClassLoader::loadClass, Class::forName и связывания байт-кода в целевой виртуальной машине. |
Методы, объявленные в интерфейсе Mirror
toString, virtualMachine | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
toString() |
Возвращает строку с описанием этого зеркала |
VirtualMachine |
virtualMachine() |
Возвращает VirtualMachine, которому принадлежит это зеркало. |
Методы, объявленные в интерфейсе ObjectReference
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
disableCollection() |
Предотвращает сборку мусора для этого объекта. |
void |
enableCollection() |
Разрешает сборку мусора для этого объекта. |
int |
entryCount() |
Возвращает количество раз, которое текущий владеющий поток входил в монитор этого объекта, если владеющий поток является платформенным потоком; возвращает 0, если объектом не владеет платформенный поток. |
boolean |
equals |
Сравнивает указанный объект с этим ObjectReference на равенство. |
Value |
getValue |
Возвращает значение заданного поля экземпляра или статического поля этого объекта. |
Map |
getValues |
Возвращает значения нескольких полей экземпляра и/или статических полей этого объекта. |
int |
hashCode() |
Возвращает значение хеш-кода для этого ObjectReference. |
Value |
invokeMethod |
Вызывает указанный Method для этого объекта в целевой виртуальной машине. |
boolean |
isCollected() |
Определяет, был ли этот объект собран сборщиком мусора в целевой виртуальной машине. |
ThreadReference |
owningThread() |
Возвращает ThreadReference платформенного потока, если таковой имеется, который в данный момент владеет монитором этого объекта. |
ReferenceType |
referenceType() |
Возвращает ReferenceType, представляющий тип этого объекта. |
List |
referringObjects |
Возвращает объекты, которые непосредственно ссылаются на этот объект. |
void |
setValue |
Устанавливает значение заданного поля экземпляра или статического поля этого объекта. |
long |
uniqueID() |
Возвращает уникальный идентификатор этого ObjectReference. |
List |
waitingThreads() |
Возвращает список, содержащий ThreadReference для каждого платформенного потока, который в данный момент ожидает монитор этого объекта. |
Подробное описание методов
definedClasses
List<ReferenceType> definedClasses()
- Возвращает:
ListReferenceTypeобъектов, представляющих типы, определённые этим загрузчиком классов. Длина списка равна 0, если этим загрузчиком классов не определено ни одного типа.
visibleClasses
List<ReferenceType> visibleClasses()
ClassLoader::loadClass, Class::forName и связывания байт-кода в целевой виртуальной машине. То есть все классы, для которых этот загрузчик классов зарегистрирован как инициирующий загрузчик. Каждый класс в возвращаемом списке создан этим загрузчиком классов: либо он определён непосредственно этим загрузчиком, либо загружен делегированием другому загрузчику классов (см. JVMS §5.3).
В возвращаемый список не входят скрытые классы или интерфейсы и классы-массивы, у которых тип элемента является скрытым классом или интерфейсом, поскольку их невозможно обнаружить с помощью какого-либо загрузчика классов.
Список видимых классов обладает полезными свойствами в отношении пространства имён типов. Имя конкретного типа встречается в списке не более одного раза. Каждое поле или переменная, объявленные с таким именем типа в классе, определённом этим загрузчиком классов, должны разрешаться в этот единственный тип.
Порядок элементов в возвращаемом списке не гарантируется.
Обратите внимание: в отличие от definedClasses() и VirtualMachine.allClasses(), некоторые возвращаемые ссылочные типы могут быть не подготовлены. Попытки выполнить некоторые операции с неподготовленными ссылочными типами (например, fields()) приведут к выбросу ClassNotPreparedException. Используйте ReferenceType.isPrepared(), чтобы определить, подготовлен ли ссылочный тип.
- Возвращает:
ListReferenceTypeобъектов, представляющих классы, которые этот загрузчик классов может найти по имени. Длина списка равна 0, если этому загрузчику классов не видны классы.- См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.