Класс AbstractRelinkableCallSite
java.lang.Object
java.lang.invoke.CallSite
java.lang.invoke.MutableCallSite
jdk.dynalink.support.AbstractRelinkableCallSite
- Все реализуемые интерфейсы:
RelinkableCallSite
- Непосредственные известные подклассы:
-
ChainedCallSite,SimpleRelinkableCallSite
public abstract class AbstractRelinkableCallSite extends MutableCallSite implements RelinkableCallSite
Базовое реализация интерфейса
RelinkableCallSite в виде класса MutableCallSite. Он содержит CallSiteDescriptor, переданный в конструкторе, и предоставляет корректную реализацию метода initialize(MethodHandle). Подклассы должны реализовать методы RelinkableCallSite.relink(GuardedInvocation, MethodHandle) и RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle).- С:
- 9
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый абстрактный переподключаемый вызов.
|
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
CallSiteDescriptor |
getDescriptor() |
Возвращает дескриптор для этого вызова.
|
void |
initialize |
Вызывается динамическим линковщиком для инициализации переподключаемого вызова, устанавливая метод обработки переподключения и вызова.
|
Методы, объявленные в классе java.lang.invoke.MutableCallSite
dynamicInvoker, getTarget, setTarget, syncAll
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе jdk.dynalink.RelinkableCallSite
relink, resetAndRelink
Подробное описание конструкторов
AbstractRelinkableCallSite
protected AbstractRelinkableCallSite(CallSiteDescriptor descriptor)
Создаёт новый абстрактный переподключаемый вызов.
- Параметры:
-
descriptor- дескриптор для этого вызова, который будет возвращён изgetDescriptor(). Тип вызоваCallSite.type()будет равен типу методаCallSiteDescriptor.getMethodType()дескриптора. - Исключения:
-
NullPointerException- еслиdescriptorравно null.
Подробное описание методов
getDescriptor
public CallSiteDescriptor getDescriptor()
Описание скопировано из интерфейса:
RelinkableCallSiteВозвращает дескриптор для этого вызова.
- Указано в:
-
getDescriptorв интерфейсеRelinkableCallSite - Возвращает:
- дескриптор для этого вызова.
initialize
public void initialize(MethodHandle relinkAndInvoke)
Описание скопировано из интерфейса:
RelinkableCallSiteВызывается динамическим линковщиком для инициализации переподключаемого вызова, устанавливая метод обработки переподключения и вызова. Реализация вызова должна установить этот метод обработки как свой целевой метод, используя
CallSite.setTarget(MethodHandle). Переподключение и вызов — это начальный метод, установленный DynamicLinker.link(RelinkableCallSite), который заставит вызов быть переподключён к подходящей цели при первом вызове на основе его аргументов, и затем эта связанная цель будет вызвана (отсюда и название). Этот протокол связывания фактически откладывает связывание до вызова вызова с фактическими аргументами и, таким образом, гарантирует, что линковщики могут принимать обоснованные решения о связывании на основе этих аргументов, а не только на основе статического типа метода вызова.- Указано в:
-
initializeв интерфейсеRelinkableCallSite - Параметры:
-
relinkAndInvoke- метод обработки переподключения и вызова, предоставленный Dynalink.
© 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.dynalink/jdk/dynalink/support/AbstractRelinkableCallSite.html