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
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractRelinkableCallSite
(CallSiteDescriptor descriptor) 创建一个新的抽象可重新链接的调用站点。 -
Method Summary
Modifier and TypeMethodDescription返回此调用站点的描述符。void
initialize
(MethodHandle relinkAndInvoke) 动态链接器调用以通过设置重新链接和调用方法句柄来初始化可重新链接的调用站点。Methods declared in class java.lang.invoke.MutableCallSite
dynamicInvoker, getTarget, setTarget, syncAll
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface jdk.dynalink.RelinkableCallSite
relink, resetAndRelink
-
Constructor Details
-
AbstractRelinkableCallSite
创建一个新的抽象可重新链接的调用站点。- 参数:
-
descriptor
- 将从getDescriptor()
返回的此调用站点的描述符。调用站点的CallSite.type()
将等于描述符的CallSiteDescriptor.getMethodType()
。 - 抛出:
-
NullPointerException
- 如果descriptor
为null。
-
-
Method Details
-
getDescriptor
从接口复制的描述:RelinkableCallSite
返回此调用站点的描述符。- 指定者:
-
getDescriptor
在接口RelinkableCallSite
- 返回:
- 此调用站点的描述符。
-
initialize
从接口复制的描述:RelinkableCallSite
动态链接器调用以通过设置重新链接和调用方法句柄来初始化可重新链接的调用站点。调用站点实现应该使用CallSite.setTarget(MethodHandle)
将此方法句柄设置为其目标。重新链接和调用是由DynamicLinker.link(RelinkableCallSite)
设置的初始方法句柄,它将导致调用站点在首次调用时基于其参数重新链接到适当的目标,并且然后将调用链接的目标(因此得名)。此链接协议有效地延迟了链接,直到调用站点使用实际参数调用,并因此确保链接器可以根据这些参数而不仅仅是调用站点的静态方法类型做出微妙的链接决策。- 指定者:
-
initialize
在接口RelinkableCallSite
- 参数:
-
relinkAndInvoke
- 由Dynalink提供的重新链接和调用方法句柄。
-