Spec-Zone.ru › OpenJDK 24

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

Возвращаемое имя зависит от стандартного слоя VM (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 в противном случае.

Поля

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

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

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

видимыеПоля

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

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

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

всеПоля

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

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

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

полеПоИмени

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

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

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

методы

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

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

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

видимыеМетоды

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

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

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

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

всеМетоды

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

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

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

методыПоИмени

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

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

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

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

методыПоИмениИПодписи

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 - если этот класс еще не подготовлен.

вложенныеТипы

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

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

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

значение

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.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 меньше нуля.
См. также:
  • 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.
Overrides:
hashCode в классе Object
Возвращает:
целое значение хэш-кода
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.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()

© 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://download.java.net/java/early_access/jdk24/docs/api/jdk.jdi/com/sun/jdi/ReferenceType.html

Spec-Zone.ru

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