Интерфейс LinkRequest
- Все известные реализующие классы:
SimpleLinkRequest
public interface LinkRequest
Представляет запрос на привязку конкретного вызова в конкретной точке вызова. Экземпляры этих запросов будут созданы и переданы всем объектам GuardingDynamicLinker, управляемым объектом DynamicLinker, который пытается связать точку вызова.
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object[] | getArguments() | Возвращает аргументы для связываемого вызова. |
CallSiteDescriptor | getCallSiteDescriptor() | Возвращает описатель точки вызова для связываемой точки вызова. |
Object | getReceiver() | Возвращает первый аргумент для связываемого вызова; это обычно объект-получатель. |
boolean | isCallSiteUnstable() | Возвращает true, если точка вызова считается нестабильной, то есть она была пересвязана больше раз, чем было указано в |
LinkRequest | replaceArguments(CallSiteDescriptor callSiteDescriptor,
Object... arguments) | Возвращает запрос, идентичный этому, с описателем точки вызова и аргументами, заменёнными указанными. |
Методы
getCallSiteDescriptor
CallSiteDescriptor getCallSiteDescriptor()
Возвращает описатель точки вызова для связываемой точки вызова.
- Возвращает:
- описатель точки вызова для связываемой точки вызова.
getArguments
Object[] getArguments()
Возвращает аргументы для связываемого вызова. Возвращаемый массив должен быть клоном; изменения в нём не должны влиять на аргументы в этом запросе.
- Возвращает:
- аргументы для связываемого вызова.
getReceiver
Object getReceiver()
Возвращает первый аргумент для связываемого вызова; это обычно объект-получатель. Это сокращение для getArguments()[0], которое также избегает клонирования массива аргументов.
- Возвращает:
- объект-получатель.
isCallSiteUnstable
boolean isCallSiteUnstable()
Возвращает true, если точка вызова считается нестабильной, то есть она была пересвязана больше раз, чем было указано в DynamicLinkerFactory.setUnstableRelinkThreshold(int). Линкеры должны использовать это как подсказку, чтобы отдавать предпочтение созданию связи, которая является более стабильной (его защита от сбоев случается реже), даже если это предположение приводит к созданию менее эффективной версии операции. Однако это просто подсказка, и линкерам разрешается игнорировать это свойство.
- Возвращает:
- true, если точка вызова считается нестабильной.
replaceArguments
LinkRequest replaceArguments(CallSiteDescriptor callSiteDescriptor,
Object... arguments)Возвращает запрос, идентичный этому, с описателем точки вызова и аргументами, заменёнными указанными.
- Параметры:
-
callSiteDescriptor- новый описатель точки вызова -
arguments- новые аргументы - Возвращает:
- новый запрос, идентичный этому, за исключением того, что описатель точки вызова и аргументы заменены указанными.
© 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.dynalink/jdk/dynalink/linker/LinkRequest.html