Ссылка на тип
- Все суперинтерфейсы:
-
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() | Возвращает список, содержащий каждый |
List<Location> | allLineLocations() | Возвращает список, содержащий объект |
List<Location> | allLineLocations(String stratum,
String sourceName) | Возвращает список, содержащий объект |
List<Method> | allMethods() | Возвращает список, содержащий каждый |
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) | Находит видимое |
List<Field> | fields() | Возвращает список, содержащий каждый |
String | genericSignature() | Получает обобщенную сигнатуру для этого типа, если она есть. |
Value | getValue(Field field) | |
Map<Field,Value> | getValues(List<? extends Field> fields) | Возвращает карту, содержащую |
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) | Возвращает список, содержащий все объекты |
List<Location> | locationsOfLine(String stratum,
String sourceName,
int lineNumber) | Возвращает список, содержащий все объекты |
int | majorVersion() | Возвращает номер основной версии класса, как определено в формате файла класса спецификации Java Virtual Machine. |
List<Method> | methods() | Возвращает список, содержащий каждый |
List<Method> | methodsByName(String name) | Возвращает список, содержащий каждый видимый |
List<Method> | methodsByName(String name,
String signature) | Возвращает список, содержащий каждый видимый |
int | minorVersion() | Возвращает номер малой версии класса, как определено в формате файла класса спецификации Java Virtual Machine. |
default ModuleReference | module() | Получает объект модуля, который содержит класс, соответствующий данному типу. |
String | name() | Получает полное имя данного типа. |
List<ReferenceType> | nestedTypes() | Возвращает список, содержащий объекты |
String | sourceDebugExtension() | Получает расширение отладки исходного кода для данного типа. |
String | sourceName() | Получает идентифицирующее имя исходного кода, соответствующее объявлению этого типа. |
List<String> | sourceNames(String stratum) | Получает идентифицирующие имена для всех исходных кодов, соответствующих объявлению этого типа. |
List<String> | sourcePaths(String stratum) | Получает пути к исходным кодам, соответствующим объявлению этого типа. |
List<Field> | visibleFields() | Возвращает список, содержащий все нескрытые и недвусмысленные |
List<Method> | visibleMethods() | Возвращает список, содержащий каждый |
Методы, объявленные в интерфейсе 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.
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
В списке может быть не более одного конкретного метода, являющегося компонентом 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