Spec-Zone.ru › OpenJDK 25

Класс 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

Краткое описание конструкторов

AbstractRelinkableCallSite(CallSiteDescriptor descriptor)
Модификатор Конструктор Описание
protected
Создает новую абстрактную повторно связываемую точку вызова.

Краткое описание методов

Модификатор и тип Метод Описание
CallSiteDescriptor getDescriptor()
Возвращает дескриптор этой точки вызова.
void initialize(MethodHandle relinkAndInvoke)
Вызывается динамическим компоновщиком для инициализации повторно связываемой точки вызова путем установки дескриптора метода повторного связывания и вызова.

Методы, объявленные в классе MutableCallSite

dynamicInvoker, getTarget, setTarget, syncAll

Методы, объявленные в классе CallSite

type

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе 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 дескриптор метода повторного связывания и вызова.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, в том числе концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.dynalink/jdk/dynalink/support/AbstractRelinkableCallSite.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API