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