Spec-Zone.ru › OpenJDK 17

Интерфейс 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.

ReferenceTypes можно получить, запросив тип определённого 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 , если класс был загружен загрузчиком базового класса.

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.6.

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

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

allMethods

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

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

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

methodsByName

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

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

Для массивов (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.6), для определения видимости.

В списке не более одного метода является конкретным методом и компонентом 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 - поле, содержащее запрашиваемое значение
Возвращает:
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: классы, интерфейсы и массивы.
Возвращает:
объект 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 сопоставляет строку исходного кода диапазону индексов кода. Начало диапазона можно определить с помощью Location.codeIndex(). Возвращаемый список может содержать несколько объектов location для одного номера строки, если компилятор и/или виртуальная машина сопоставили эту строку с двумя или более разрозненными диапазонами индексов кода. Обратите внимание, что одна и та же строка исходного кода может представлять различные диапазоны индексов кода в разных методах.

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

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

Параметры:
stratum - Слой для получения информации или null для defaultStratum().
sourceName - Возвращать объекты location только в этом файле исходного кода или null для возвращения всех объектов location.
Возвращает:
список всех объектов 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 меньше нуля.
См. также:
  • 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()
Возвращает номер версии класса major, как определено в формате файла класса спецификации Java Virtual Machine. Для массивов (ArrayType) и примитивных классов возвращаемое значение номера версии major равно нулю. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetClassFileVersion() для определения, поддерживается ли операция.
Возвращает:
номер версии major класса.
Издаёт:
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. Формат константного пула может отличаться в версиях формата файла класса, поэтому для совместимости следует проверить номера версии класса (minor и major). Для массивов (ArrayType) и примитивных классов возвращается массив байтов длиной ноль. Данная операция не поддерживается всеми виртуальными машинами. Используйте VirtualMachine.canGetConstantPool(), чтобы определить, поддерживается ли операция.
Возвращает:
сырые байты константного пула.
Исключение:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает данную операцию - см. canGetConstantPool()
С:
1.6
См. также:
  • constantPoolCount()

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

Spec-Zone.ru

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