Ссылка на тип

Все суперинтерфейсы:
Accessible, Comparable<ReferenceType>, Mirror, Type
Все известные подинтерфейсы:
ArrayType, ClassType, InterfaceType
public interface ReferenceType
extends Type, Comparable<ReferenceType>, Accessible

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

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

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

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

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

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

С:
1.3
См. также:
ObjectReference, ObjectReference.referenceType(), VirtualMachine, VirtualMachine.allClasses()

Методы

Модификатор и тип Метод Описание
List<Field> allFields()

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

List<Location> allLineLocations()

Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом типе ссылки.

List<Location> allLineLocations​(String stratum, String sourceName)

Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом типе ссылки.

List<Method> allMethods()

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

List<String> availableStrata()

Возвращает доступные слои для данного типа ссылки.

ClassLoaderReference classLoader()

Получает объект загрузчика классов, который загрузил класс, соответствующий данному типу.

ClassObjectReference classObject()

Возвращает объект класса, соответствующий этому типу в целевой виртуальной машине.

byte[] constantPool()

Возвращает необработанные байты пула констант в формате элемента constant_pool из формата файла класса в спецификации Java 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()

Получает полное имя данного типа.

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()

Получает полное квалифицированное имя этого типа. Возвращаемое имя отформатировано так, как оно может появиться в объявлении языка программирования Java для объектов этого типа.

Для примитивных классов возвращаемое имя — имя соответствующего примитивного типа; например, «int» возвращается как имя класса, представленного Integer.TYPE.

Указано:
name в интерфейсе Type
Возвращает:
строку, содержащую имя типа.

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

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

С:
1.4

sourceDebugExtension

String sourceDebugExtension()
                     throws AbsentInformationException

Получить расширение отладки исходного кода этого типа.

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

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

isStatic

boolean isStatic()

Определяет, был ли этот тип объявлен статическим. Только вложенные типы могут быть объявлены статическими, поэтому false возвращается для любого типа на уровне пакета, типа массива или примитивного класса.

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

isAbstract

boolean isAbstract()

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

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

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

isFinal

boolean isFinal()

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

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

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

isPrepared

boolean isPrepared()

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

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

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

isVerified

boolean isVerified()

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

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

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

isInitialized

boolean isInitialized()

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

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

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

failedToInitialize

boolean failedToInitialize()

Определяет, произошел ли сбой инициализации для этого класса. См. спецификацию JVM для получения подробной информации об инициализации класса.

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

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

fields

List<Field> fields()

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

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

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

visibleFields

List<Field> visibleFields()

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

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

Возвращает:
список объектов 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. Подробности см. в разделе 8.4.6 JLS.

Для массивов (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.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 принадлежат одной VM и если они отражают классы, соответствующие одному экземпляру java.lang.Class в этой VM.
См. также:
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 Virtual Machine. Для массивов (ArrayType) и примитивных классов возвращаемое значение номера дополнительной версии равно нулю. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetClassFileVersion() для определения поддержки операции.

Возвращает:
номер дополнительной версии класса.
Исключения:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию — см. canGetClassFileVersion()
С момента:
1.6

constantPoolCount

int constantPoolCount()

Возвращает количество элементов в константном пуле плюс один. Это соответствует элементу constant_pool_count формата файла класса в спецификации Java Virtual Machine. Для массивов (ArrayType) и примитивных классов возвращаемое значение количества элементов константного пула равно нулю. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetConstantPool() для определения поддержки операции.

Возвращает:
общее количество элементов константного пула для класса плюс один.
Исключения:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию — см. canGetConstantPool()
С момента:
1.6
См. также:
constantPool()

constantPool

byte[] constantPool()

Возвращает сырые байты константного пула в формате элемента constant_pool формата файла класса в спецификации Java Virtual Machine. Формат константного пула может отличаться в разных версиях формата файла класса, поэтому необходимо проверить номера дополнительной и основной версии класса для совместимости. Для массивов (ArrayType) и примитивных классов возвращается массив байтов нулевой длины. Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetConstantPool() для определения поддержки операции.

Возвращает:
сырые байты константного пула.
Исключения:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию — см. canGetConstantPool()
С момента:
1.6
См. также:
constantPoolCount()

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

Spec-Zone .ru
спецификации, руководства, описания, API