Класс 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).Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
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, 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/support/AbstractRelinkableCallSite.html