Spec-Zone.ru › OpenJDK 21

Интерфейс 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 из спецификации формата файла Class в спецификации Java Virtual Machine.
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 Virtual Machine.
List<Method> methods()
Возвращает список, содержащий каждый Method, объявленный непосредственно в этом типе.
List<Method> methodsByName(String name)
Возвращает список, содержащий каждый видимый Method, который имеет данное имя.
List<Method> methodsByName(String name, String signature)
Возвращает список, содержащий каждый видимый Method, который имеет данное имя и подпись.
int minorVersion()
Возвращает номер небольшой версии класса, как определено в формате файла класса спецификации Java Virtual Machine.
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, объявленный или унаследованный этим типом.

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

isPackagePrivate, isPrivate, isProtected, isPublic, modifiers

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

compareTo

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

toString, virtualMachine

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

signature

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

name

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

genericSignature

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

classLoader

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

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 возвращаемый список содержит один элемент: строку, являющуюся именем файла исходного кода без пути, содержащего объявление этого типа. В других слоях возвращаемые имена источников — все имена источников, определённые для этого слоя.

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

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

С тех пор как:
1.4

sourcePaths

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

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

Параметры:
stratum - Слой для извлечения информации или null для стандартного слоя объявляющего типа.
Возвращает:
список строк, каждая из которых представляет путь к источнику
Выбрасывает:
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 в этом типе. Включаются все поля, к которым можно получить доступ из класса или его экземпляров по их простому имени. Поля, которые неоднозначно унаследованы несколько раз или поля, скрытые полями с тем же именем в более недавно унаследованном классе, не могут быть доступны по их простому имени и не включаются в возвращаемый список. Все остальные унаследованные поля включаются. Подробности см. в разделе JLS 8.3.

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

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

allFields

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

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

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

fieldByName

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

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

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

methods

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

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

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

visibleMethods

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

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

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

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

allMethods

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

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

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

methodsByName

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

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

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

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

methodsByName

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

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

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

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

nestedTypes

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

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

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

getValue

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

getValues

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

classObject

ClassObjectReference classObject()
Возвращает объект класса, соответствующий этому типу в целевой виртуальной машине. Виртуальная машина создаёт объекты классов для каждого типа ReferenceType: классы, интерфейсы и массивы.
Возвращает:
the 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 для возврата всех объектов.
Возвращает:
список всех объектов Location исходной строки.
Исключения:
AbsentInformationException - если для этого класса нет информации о номерах строк и существуют исполняемые, не нативные, не абстрактные члены этого класса. Или если sourceName не null и информация о имени файла исходного кода отсутствует.
ClassNotPreparedException - если этот класс ещё не подготовлен.
С тех пор:
1.4

locationsOfLine

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

Этот метод эквивалентен locationsOfLine(vm.getDefaultStratum(), null, lineNumber) - см. locationsOfLine(java.lang.String,java.lang.String,int) для получения дополнительной информации.

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

locationsOfLine

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

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

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

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

availableStrata

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

См. Location для описания уровней.

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

defaultStratum

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

См. Location для описания уровней.

С тех пор:
1.4

instances

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

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

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

equals

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

hashCode

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

majorVersion

int majorVersion()
Возвращает номер версии класса, как определено в формате файла класса спецификации Java Virtual Machine. Для массивов (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()

© 1993, 2023, 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/21/docs/api/jdk.jdi/com/sun/jdi/ReferenceType.html

Spec-Zone.ru

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