Spec-Zone.ru › OpenJDK 25

Интерфейс ReferenceType

Все суперинтерфейсы:
Accessible, Comparable<ReferenceType>, Mirror, Type
Все известные подинтерфейсы:
ArrayType, ClassType, InterfaceType
public interface ReferenceType extends Type, Comparable<ReferenceType>, Accessible
Тип объекта в целевой виртуальной машине. ReferenceType охватывает классы, интерфейсы и типы массивов, определённые в Спецификации языка Java. Все объекты ReferenceType относятся к одному из следующих подинтерфейсов: ClassType для классов, InterfaceType для интерфейсов и ArrayType для массивов. Обратите внимание, что примитивные классы (например, reflected type для Integer.TYPE) представлены как ClassType. Виртуальная машина создаёт объекты Class для всех трёх типов, поэтому с точки зрения виртуальной машины каждому ReferenceType соответствует отдельный объект Class.

ReferenceType можно получить, запросив тип у конкретного ObjectReference или получив список всех типов ссылок из VirtualMachine.

ReferenceType предоставляет доступ к статической информации о типе, такой как методы и поля, а также к динамической информации о типе, такой как соответствующий объект Class и загрузчик классов.

Любой метод в ReferenceType, который прямо или косвенно принимает ReferenceType в качестве параметра, может выбросить VMDisconnectedException, если соединение с целевой виртуальной машиной разорвано и событие VMDisconnectEvent уже доступно для чтения из EventQueue или может быть прочитано из неё.

Любой метод в ReferenceType, который прямо или косвенно принимает ReferenceType в качестве параметра, может выбросить VMOutOfMemoryException, если в целевой виртуальной машине закончилась память.

Любой метод в ReferenceType или метод, который прямо или косвенно принимает ReferenceType в качестве параметра, может выбросить ObjectCollectedException, если отражённый тип был выгружен.

С версии:
1.3
См. также:
  • ObjectReference
  • ObjectReference.referenceType()
  • VirtualMachine
  • VirtualMachine.allClasses()

Краткое описание методов

Модификатор и тип Метод Описание
List<Field> allFields()
Возвращает список, содержащий каждое Field, объявленное в этом типе, его суперклассах, реализованных интерфейсах и/или суперинтерфейсах.
List<Location> allLineLocations()
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом типе ссылок.
List<Location> allLineLocations(String stratum, String sourceName)
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом типе ссылок.
List<Method> allMethods()
Возвращает список, содержащий каждый Method, объявленный в этом типе, его суперклассах, реализованных интерфейсах и/или суперинтерфейсах.
List<String> availableStrata()
Возвращает доступные пласты для этого типа ссылок.
ClassLoaderReference classLoader()
Возвращает объект загрузчика классов, загрузившего класс, соответствующий этому типу.
ClassObjectReference classObject()
Возвращает объект класса, соответствующий этому типу в целевой виртуальной машине.
byte[] constantPool()
Возвращает необработанные байты пула констант в формате элемента constant_pool из формата файла класса, определённого в Спецификации виртуальной машины Java.
int constantPoolCount()
Возвращает количество элементов в пуле констант плюс один.
String defaultStratum()
Возвращает пласт по умолчанию для этого типа ссылок.
boolean equals(Object obj)
Сравнивает указанный объект с этим ReferenceType на равенство.
boolean failedToInitialize()
Определяет, завершилась ли ошибкой инициализация этого класса.
Field fieldByName(String fieldName)
Находит видимое Field с указанным однозначным именем.
List<Field> fields()
Возвращает список, содержащий каждое Field, объявленное в этом типе.
String genericSignature()
Возвращает обобщённую сигнатуру этого типа, если она существует.
Value getValue(Field field)
Возвращает Value заданного статического Field в этом типе.
Map<Field,Value> getValues(List<? extends Field> fields)
Возвращает карту, содержащую Value каждого статического Field из заданного списка.
int hashCode()
Возвращает значение хеш-кода этого ObjectReference.
List<ObjectReference> instances(long maxInstances)
Возвращает экземпляры этого ReferenceType.
boolean isAbstract()
Определяет, объявлен ли этот тип абстрактным.
boolean isFinal()
Определяет, объявлен ли этот тип как final.
boolean isInitialized()
Определяет, был ли инициализирован этот тип.
boolean isPrepared()
Определяет, был ли подготовлен этот тип.
boolean isStatic()
Определяет, был ли этот тип объявлен статическим.
boolean isVerified()
Определяет, был ли проверен этот тип.
List<Location> locationsOfLine(int lineNumber)
Возвращает список, содержащий все объекты Location, соответствующие указанному номеру строки.
List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber)
Возвращает список, содержащий все объекты Location, соответствующие указанному номеру строки.
int majorVersion()
Возвращает старший номер версии класса, определённый в формате файла класса из Спецификации виртуальной машины Java.
List<Method> methods()
Возвращает список, содержащий каждый Method, непосредственно объявленный в этом типе.
List<Method> methodsByName(String name)
Возвращает список, содержащий каждый видимый Method с указанным именем.
List<Method> methodsByName(String name, String signature)
Возвращает список, содержащий каждый видимый Method с указанными именем и сигнатурой.
int minorVersion()
Возвращает младший номер версии класса, определённый в формате файла класса из Спецификации виртуальной машины Java.
default ModuleReference module()
Возвращает объект модуля, содержащего класс, соответствующий этому типу.
String name()
Возвращает имя этого объекта ReferenceType.
List<ReferenceType> nestedTypes()
Возвращает список объектов ReferenceType, объявленных в этом типе и загруженных в виртуальную машину в данный момент.
String sourceDebugExtension()
Возвращает расширение отладочной информации об исходном коде для этого типа.
String sourceName()
Возвращает идентифицирующее имя исходного кода, соответствующего объявлению этого типа.
List<String> sourceNames(String stratum)
Возвращает идентифицирующие имена всех исходных файлов, соответствующих объявлению этого типа.
List<String> sourcePaths(String stratum)
Возвращает пути к исходным файлам, соответствующим объявлению этого типа.
List<Field> visibleFields()
Возвращает список, содержащий каждое не скрытое и однозначное Field в этом типе.
List<Method> visibleMethods()
Возвращает список, содержащий каждый Method, объявленный в этом типе или унаследованный им.

Методы, объявленные в интерфейсе Accessible

isPackagePrivate, isPrivate, isProtected, isPublic, modifiers

Методы, объявленные в интерфейсе Comparable

compareTo

Методы, объявленные в интерфейсе Mirror

toString, virtualMachine

Методы, объявленные в интерфейсе Type

signature

Подробное описание методов

name

String name()
Возвращает имя этого объекта ReferenceType. Возвращаемое имя имеет ту же форму, что и имя, возвращаемое Class.getName().
Определено в:
name в интерфейсе Type
Возвращает:
строку, содержащую имя типа.
См. также:
  • Class.getName()

genericSignature

String genericSignature()
Возвращает обобщённую сигнатуру этого типа, если она имеется. Описание обобщённых сигнатур приведено в Спецификации виртуальной машины Java.
Возвращает:
строку, содержащую обобщённую сигнатуру, или null, если обобщённая сигнатура отсутствует.
Добавлено в:
1.5

classLoader

ClassLoaderReference classLoader()
Возвращает объект загрузчика классов, загрузивший класс, соответствующий этому типу.
Возвращает:
объект ClassLoaderReference, представляющий загрузчик классов, или null, если класс был загружен загрузчиком классов начальной загрузки.

module

default ModuleReference module()
Возвращает объект модуля, содержащего класс, соответствующий этому типу. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetModuleInfo(), чтобы определить, поддерживается ли эта операция.
Требования к реализации:
Реализация по умолчанию выбрасывает UnsupportedOperationException.
Возвращает:
объект ModuleReference, представляющий модуль в целевой виртуальной машине.
Выбрасывает:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию.
Добавлено в:
9

sourceName

String sourceName() throws AbsentInformationException
Возвращает идентифицирующее имя исходного кода, соответствующего объявлению этого типа. Интерпретация этой строки зависит от механизма хранилища исходного кода.

Возвращаемое имя зависит от страты по умолчанию виртуальной машины (VirtualMachine.getDefaultStratum()). В эталонной реализации при использовании базовой страты возвращаемая строка представляет собой неквалифицированное имя файла исходного кода, содержащего объявление этого типа. В других стратах возвращается первое имя исходного кода для этой страты. Поскольку для ссылочного типа в других языках может существовать несколько имён исходного кода, предпочтительно использовать Location.sourceName() или sourceNames(String).

Для массивов (ArrayType) и примитивных классов всегда выбрасывается AbsentInformationException.

Возвращает:
имя файла исходного кода в виде строки
Выбрасывает:
AbsentInformationException — если имя исходного кода неизвестно

sourceNames

List<String> sourceNames(String stratum) throws AbsentInformationException
Возвращает идентифицирующие имена всех исходных файлов, соответствующих объявлению этого типа. Интерпретация этих имён зависит от механизма хранилища исходного кода.

Возвращаемые имена относятся к указанной страте (описание страт см. в Location). В эталонной реализации при использовании страты языка программирования Java возвращаемый List содержит один элемент: String, представляющий собой неквалифицированное имя файла исходного кода, содержащего объявление этого типа. В других стратах возвращаются все имена исходного кода, заданные для этой страты.

Параметры:
stratum — страта, из которой следует получить информацию, или null для страты по умолчанию объявляющего типа.
Возвращает:
List объектов String, каждый из которых представляет имя исходного кода
Выбрасывает:
AbsentInformationException — если имена исходного кода неизвестны.

Для массивов (ArrayType) и примитивных классов всегда выбрасывается AbsentInformationException.

Добавлено в:
1.4

sourcePaths

List<String> sourcePaths(String stratum) throws AbsentInformationException
Возвращает пути к исходному коду, соответствующему объявлению этого типа. Интерпретация этих путей зависит от механизма хранилища исходного кода.

Возвращаемые пути относятся к указанной страте (описание страт см. в Location). В эталонной реализации для страт, в которых путь к исходному коду не задан явно (в страте языка программирования Java он никогда не задаётся), возвращаемые строки представляют собой sourceNames(String) с добавленным в начало именем пакета этого ReferenceType, преобразованным в путь, зависящий от платформы. Например, на платформе Windows java.lang.Thread вернёт List, содержащий один элемент: "java\lang\Thread.java".

Параметры:
stratum — страта, из которой следует получить информацию, или null для страты по умолчанию объявляющего типа.
Возвращает:
List объектов String, каждый из которых представляет путь к исходному коду
Выбрасывает:
AbsentInformationException — если имена исходного кода неизвестны.

Для массивов (ArrayType) и примитивных классов всегда выбрасывается AbsentInformationException.

Добавлено в:
1.4

sourceDebugExtension

String sourceDebugExtension() throws AbsentInformationException
Возвращает расширение отладочной информации исходного кода для этого типа.

Не все целевые виртуальные машины поддерживают эту операцию. Используйте canGetSourceDebugExtension(), чтобы определить, поддерживается ли эта операция.

Возвращает:
атрибут расширения отладочной информации исходного кода в виде строки
Выбрасывает:
AbsentInformationException — если расширение не задано
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию; см. canGetSourceDebugExtension(),

isStatic

boolean isStatic()
Определяет, был ли этот тип объявлен статическим. Статическими могут быть объявлены только вложенные типы, поэтому для любого типа уровня пакета, типа массива или примитивного класса возвращается false.
Возвращает:
true, если этот тип является статическим; в противном случае — false.

isAbstract

boolean isAbstract()
Определяет, был ли этот тип объявлен абстрактным.

Для массивов (ArrayType) и примитивных классов возвращаемое значение не определено.

Возвращает:
true, если этот тип является абстрактным; в противном случае — false.

isFinal

boolean isFinal()
Определяет, был ли этот тип объявлен final.

Для массивов (ArrayType) и примитивных классов возвращаемое значение всегда равно true.

Возвращает:
true, если этот тип является final; в противном случае — false.

isPrepared

boolean isPrepared()
Определяет, был ли подготовлен этот тип. Определение подготовки класса см. в спецификации JVM.

Для массивов (ArrayType) и примитивных классов возвращаемое значение не определено.

Возвращает:
true, если этот тип подготовлен; в противном случае — false.

isVerified

boolean isVerified()
Определяет, был ли проверен этот тип. Определение проверки класса см. в спецификации JVM.

Для массивов (ArrayType) и примитивных классов возвращаемое значение не определено.

Возвращает:
true, если этот тип проверен; в противном случае — false.

isInitialized

boolean isInitialized()
Определяет, был ли инициализирован этот тип. Определение проверки класса см. в спецификации JVM. Для InterfaceType этот метод всегда возвращает то же значение, что и isPrepared().

Для массивов (ArrayType) и примитивных классов возвращаемое значение не определено.

Возвращает:
true, если этот тип инициализирован; в противном случае — false.

failedToInitialize

boolean failedToInitialize()
Определяет, завершилась ли неудачей инициализация этого класса. Подробные сведения об инициализации класса см. в спецификации JVM.

Для массивов (ArrayType) и примитивных классов возвращаемое значение не определено.

Возвращает:
true, если была предпринята попытка инициализации и она завершилась неудачей; в противном случае — false.

fields

List<Field> fields()
Возвращает список, содержащий каждое поле Field, объявленное в этом типе. Унаследованные поля не включаются. В список включаются все синтетические поля, созданные компилятором.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Возвращает:
список объектов Field; длина списка равна 0, если полей нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

visibleFields

List<Field> visibleFields()
Возвращает список, содержащий каждое незатенённое и однозначное поле Field этого типа. В список включается каждое поле, к которому можно обратиться из класса или его экземпляров по простому имени. Поля, унаследованные неоднозначным образом от нескольких типов, а также поля, затенённые одноимёнными полями в более позднем унаследованном классе, нельзя использовать по простому имени, поэтому они не включаются в возвращаемый список. Все остальные унаследованные поля включаются. Подробности см. в разделе 8.3 JLS.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Возвращает:
List объектов Field; длина списка равна 0, если видимых полей нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

allFields

List<Field> allFields()
Возвращает список, содержащий каждое поле Field, объявленное в этом типе, его суперклассах, реализованных интерфейсах и/или суперинтерфейсах. Включаются все объявленные и унаследованные поля независимо от того, затенены они или унаследованы от нескольких типов.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Возвращает:
List объектов Field; длина списка равна 0, если полей нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

fieldByName

Field fieldByName(String fieldName)
Находит видимое поле Field с указанным однозначным именем. Для определения видимости этот метод следует правилам наследования, заданным в JLS (8.3.3).

Для массивов (ArrayType) и примитивных классов возвращаемое значение всегда равно null.

Параметры:
fieldName — String, содержащая имя искомого поля.
Возвращает:
объект Field, представляющий найденное поле, или null, если поля с указанным именем нет либо это имя неоднозначно.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

methods

List<Method> methods()
Возвращает список, содержащий каждый метод Method, непосредственно объявленный в этом типе. Унаследованные методы не включаются. В список включаются конструкторы, метод инициализации (если он имеется) и все синтетические методы, созданные компилятором.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Возвращает:
список объектов Method; длина списка равна 0, если методов нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

visibleMethods

List<Method> visibleMethods()
Возвращает список, содержащий каждый метод Method, объявленный или унаследованный этим типом. Методы суперклассов или суперинтерфейсов, которые были затенены или переопределены, не включаются.

Обратите внимание: несмотря на это исключение, в возвращаемом списке могут присутствовать несколько унаследованных методов с одинаковой сигнатурой, однако не более одного из них может быть членом ClassType. Подробности см. в разделе 8.4.8 JLS.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Возвращает:
List объектов Method; длина списка равна 0, если видимых методов нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

allMethods

List<Method> allMethods()
Возвращает список, содержащий каждый метод Method, объявленный в этом типе, его суперклассах, реализованных интерфейсах и/или суперинтерфейсах. Включаются все объявленные и унаследованные методы независимо от того, затенены они или переопределены.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Возвращает:
List объектов Method; длина списка равна 0, если методов нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

methodsByName

List<Method> methodsByName(String name)
Возвращает List, содержащий каждый видимый метод Method с указанным именем. Чаще всего этот метод используется для поиска перегруженных методов.

Переопределённые и затенённые методы не включаются. Подробности см. в JLS (8.4.8).

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Параметры:
name — имя искомого метода.
Возвращает:
List объектов Method, соответствующих указанному имени; длина списка равна 0, если подходящих методов нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

methodsByName

List<Method> methodsByName(String name, String signature)
Возвращает List, содержащий каждый видимый метод Method с указанными именем и сигнатурой. Строка сигнатуры представляет собой JNI-сигнатуру целевого метода:
  • ()V
  • ([Ljava/lang/String;)V
  • (IIII)Z
Для определения видимости этот метод следует правилам наследования, заданным в JLS (8.4.8).

Не более одного метода в списке может быть конкретным методом и компонентом ClassType; остальные методы в списке являются абстрактными. Используйте ClassType.concreteMethodByName(String, String), чтобы получить только соответствующий конкретный метод.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Параметры:
name — имя искомого метода.
signature — сигнатура искомого метода
Возвращает:
List объектов Method, соответствующих указанным имени и сигнатуре; длина списка равна 0, если подходящих методов нет.
Выбрасывает:
ClassNotPreparedException — если этот класс ещё не был подготовлен.

nestedTypes

List<ReferenceType> nestedTypes()
Возвращает List, содержащий объекты ReferenceType, объявленные внутри этого типа и загруженные в данный момент в виртуальную машину. Включаются как статические, так и нестатические вложенные типы (то есть внутренние типы). В возвращаемый список также включаются локальные внутренние типы (объявленные в блоке кода этого ссылочного типа).

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст.

Возвращает:
List вложенных объектов ReferenceType; длина списка равна 0, если вложенных типов нет.

getValue

Value getValue(Field field)
Возвращает Value заданного статического поля Field этого типа. Поле должно быть допустимым для этого типа, то есть должно быть объявлено в этом типе, суперклассе, суперинтерфейсе или реализованном интерфейсе.
Параметры:
field — поле, содержащее запрошенное значение
Возвращает:
Value поля экземпляра.
Выбрасывает:
IllegalArgumentException — если поле недопустимо для класса этого объекта.

getValues

Map<Field,Value> getValues(List<? extends Field> fields)
Возвращает карту, содержащую Value каждого статического поля Field из указанного списка. Поля должны быть допустимыми для этого типа, то есть должны быть объявлены в этом типе, суперклассе, суперинтерфейсе или реализованном интерфейсе.
Параметры:
fields — список объектов Field, значения которых запрашиваются.
Возвращает:
Map запрошенных объектов Field и их Value.
Выбрасывает:
IllegalArgumentException — если какое-либо поле недопустимо для класса этого объекта.
VMMismatchException — если аргумент Mirror и это зеркало не принадлежат одной и той же VirtualMachine.

classObject

ClassObjectReference classObject()
Возвращает объект класса, соответствующий этому типу в целевой виртуальной машине. Виртуальная машина создаёт объекты классов для всех видов ReferenceType: классов, интерфейсов и типов массивов.
Возвращает:
ClassObjectReference для этого ссылочного типа в целевой виртуальной машине.

allLineLocations

List<Location> allLineLocations() throws AbsentInformationException
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом ссылочном типе.

Этот метод эквивалентен allLineLocations(vm.getDefaultStratum(),null) — дополнительные сведения см. в allLineLocations(String,String).

Выбрасывает:
AbsentInformationException — если для этого класса отсутствует информация о номерах строк, а в классе есть исполняемые члены, не являющиеся нативными или абстрактными.
ClassNotPreparedException — если этот класс ещё не был подготовлен.

allLineLocations

List<Location> allLineLocations(String stratum, String sourceName) throws AbsentInformationException
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом ссылочном типе. Каждое местоположение сопоставляет строку исходного кода диапазону индексов кода. Начало диапазона можно определить с помощью Location.codeIndex(). Возвращаемый список может содержать несколько местоположений для одного номера строки, если компилятор и/или виртуальная машина сопоставили эту строку с двумя или более несмежными диапазонами индексов кода. Обратите внимание, что одна и та же строка исходного кода может соответствовать различным диапазонам индексов кода в разных методах.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст. Для интерфейсов (InterfaceType) возвращаемый список будет непустым, только если в интерфейсе есть исполняемый код инициализации класса.

Возвращаемый список относится к указанной страте (описание страт см. в Location).

Параметры:
stratum — страта, из которой следует получить информацию, или null для defaultStratum().
sourceName — возвращать местоположения только в этом файле исходного кода или null для возврата местоположений.
Возвращает:
List всех объектов Location для строк исходного кода.
Выбрасывает:
AbsentInformationException — если для этого класса отсутствует информация о номерах строк, а в классе есть исполняемые члены, не являющиеся нативными или абстрактными. Также выбрасывается, если sourceName не равен null, а информация об имени исходного кода отсутствует.
ClassNotPreparedException — если этот класс ещё не был подготовлен.
Добавлено в:
1.4

locationsOfLine

List<Location> locationsOfLine(int lineNumber) throws AbsentInformationException
Возвращает List, содержащий все объекты Location, соответствующие указанному номеру строки.

Этот метод эквивалентен locationsOfLine(vm.getDefaultStratum(), null, lineNumber) — дополнительные сведения см. в locationsOfLine(java.lang.String,java.lang.String,int).

Параметры:
lineNumber — номер строки
Возвращает:
List всех объектов Location, соответствующих указанной строке.
Выбрасывает:
AbsentInformationException — если для этого класса отсутствует информация о номерах строк.
ClassNotPreparedException — если этот класс ещё не был подготовлен.
См. также:
  • VirtualMachine.getDefaultStratum()

locationsOfLine

List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber) throws AbsentInformationException
Возвращает List, содержащий все объекты Location, соответствующие указанному номеру строки.

Для массивов (ArrayType) и примитивных классов возвращаемый список всегда пуст. Для интерфейсов (InterfaceType) возвращаемый список будет непустым, только если в интерфейсе есть исполняемый код инициализации класса на указанной строке. Если на указанной строке нет исполняемого кода, возвращается пустой список.

Возвращаемый список относится к указанной страте (описание страт см. в Location).

Параметры:
stratum — страта, используемая для сопоставления номера строки и имени исходного кода, или null для использования defaultStratum().
sourceName — имя исходного кода, содержащего номер строки, или null для поиска во всех именах исходного кода
lineNumber — номер строки
Возвращает:
List всех объектов Location, соответствующих указанной строке.
Выбрасывает:
AbsentInformationException — если для этого класса отсутствует информация о номерах строк. Также выбрасывается, если sourceName не равен null, а информация об имени исходного кода отсутствует.
ClassNotPreparedException — если этот класс ещё не был подготовлен.
Добавлено в:
1.4

availableStrata

List<String> availableStrata()
Возвращает доступные страты для этого ссылочного типа.

Описание страт см. в Location.

Возвращает:
List значений java.lang.String, каждое из которых представляет страту
Добавлено в:
1.4

defaultStratum

String defaultStratum()
Возвращает слой по умолчанию для этого типа ссылок. Это значение указано в файле класса и не может быть задано пользователем. Если в файле класса не указан слой по умолчанию, будет возвращен базовый слой ("Java").

Описание слоев см. в Location.

Начиная с версии:
1.4

instances

List<ObjectReference> instances(long maxInstances)
Возвращает экземпляры этого типа ссылок. Возвращаются только экземпляры, доступные для сборщика мусора.

Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetInstanceInfo(), чтобы определить, поддерживается ли эта операция.

Параметры:
maxInstances — максимальное количество возвращаемых экземпляров. Значение должно быть неотрицательным. Если оно равно нулю, возвращаются все экземпляры.
Возвращает:
список объектов ObjectReference. Если экземпляров этого типа ссылок нет, возвращается список нулевой длины.
Выбрасывает:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию; см. canGetInstanceInfo()
IllegalArgumentException — если значение maxInstances меньше нуля.
Начиная с версии:
1.6
См. также:
  • VirtualMachine.instanceCounts(List)
  • ObjectReference.referringObjects(long)

equals

boolean equals(Object obj)
Сравнивает указанный объект с этим типом ссылок на равенство.
Переопределяет:
equals в классе Object
Параметры:
obj — объект-ссылка, с которым выполняется сравнение.
Возвращает:
true, если объект является ReferenceType, если типы ссылок принадлежат одной и той же виртуальной машине и если они отображают классы, соответствующие одному и тому же экземпляру java.lang.Class в этой виртуальной машине.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

int hashCode()
Возвращает значение хеш-кода для этой ссылки на объект.
Переопределяет:
hashCode в классе Object
Возвращает:
целочисленный хеш-код
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

majorVersion

int majorVersion()
Возвращает номер старшей версии класса, определенный форматом файла класса в спецификации виртуальной машины Java. Для массивов (ArrayType) и примитивных классов возвращаемое значение номера старшей версии равно нулю. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetClassFileVersion(), чтобы определить, поддерживается ли эта операция.
Возвращает:
номер старшей версии класса.
Выбрасывает:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию; см. canGetClassFileVersion()
Начиная с версии:
1.6

minorVersion

int minorVersion()
Возвращает номер младшей версии класса, определенный форматом файла класса в спецификации виртуальной машины Java. Для массивов (ArrayType) и примитивных классов возвращаемое значение номера младшей версии равно нулю. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetClassFileVersion(), чтобы определить, поддерживается ли эта операция.
Возвращает:
номер младшей версии класса.
Выбрасывает:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию; см. canGetClassFileVersion()
Начиная с версии:
1.6

constantPoolCount

int constantPoolCount()
Возвращает количество записей в пуле констант плюс один. Это соответствует элементу constant_pool_count формата файла класса в спецификации виртуальной машины Java. Для массивов (ArrayType) и примитивных классов возвращаемое значение количества элементов пула констант равно нулю. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetConstantPool(), чтобы определить, поддерживается ли эта операция.
Возвращает:
общее количество записей в пуле констант класса плюс один.
Выбрасывает:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию; см. canGetConstantPool()
Начиная с версии:
1.6
См. также:
  • constantPool()

constantPool

byte[] constantPool()
Возвращает необработанные байты пула констант в формате элемента constant_pool из формата файла класса в спецификации виртуальной машины Java. Формат пула констант может различаться в разных версиях формата файла класса, поэтому следует проверить совместимость номеров младшей и старшей версий класса. Для массивов (ArrayType) и примитивных классов возвращается массив байтов нулевой длины. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetConstantPool(), чтобы определить, поддерживается ли эта операция.
Возвращает:
необработанные байты пула констант.
Выбрасывает:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию; см. canGetConstantPool()
Начиная с версии:
1.6
См. также:
  • constantPoolCount()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jdi/com/sun/jdi/ReferenceType.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API