- 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
MutableCallSiteとしてのRelinkableCallSiteの基本的な実装。 コンストラクタで渡されたCallSiteDescriptorを持ち、initialize(MethodHandle)メソッドの正しい実装を提供します。 サブクラスは、RelinkableCallSite.relink(GuardedInvocation, MethodHandle)およびRelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle)メソッドを提供する必要があります。
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedAbstractRelinkableCallSite(CallSiteDescriptor descriptor)新しい抽象的な再リンク可能なコール・サイトを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 CallSiteDescriptorgetDescriptor()この呼び出しサイトの記述子を返します。voidinitialize(MethodHandle relinkAndInvoke)再リンク呼び出しメソッドのハンドルを設定して、再リンク可能な呼び出しサイトを初期化するために動的リンカーによって呼び出されます。-
class java.lang.invoke.MutableCallSiteから継承したメソッド
dynamicInvoker, getTarget, setTarget, syncAll
-
クラス java.lang.Objectから継承されたメソッド
clone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、wait
-
interface jdk.dynalink.RelinkableCallSiteから継承したメソッド
relink, resetAndRelink
-
-
-
-
コンストラクタの詳細
-
AbstractRelinkableCallSite
protected AbstractRelinkableCallSite(CallSiteDescriptor descriptor)
新しい抽象的な再リンク可能なコール・サイトを作成します。- パラメータ:
descriptor-getDescriptor()から返されるこの呼び出しサイトの記述子。 コール・サイトCallSite.type()は記述子CallSiteDescriptor.getMethodType()と等しくなります。- 例外:
NullPointerException-descriptorがnullの場合。
-
-
メソッドの詳細
-
getDescriptor
public CallSiteDescriptor getDescriptor()
インタフェースからコピーされた説明:RelinkableCallSiteこの呼び出しサイトの記述子を返します。- 定義:
- インタフェース
RelinkableCallSite内のgetDescriptor - 戻り値:
- この呼び出しサイトの記述子。
-
initialize
public void initialize(MethodHandle relinkAndInvoke)
インタフェースからコピーされた説明:RelinkableCallSite再リンク呼び出しメソッドのハンドルを設定して、再リンク可能な呼び出しサイトを初期化するために動的リンカーによって呼び出されます。 コール・サイトの実装では、このメソッド・ハンドルをCallSite.setTarget(MethodHandle)を使用してターゲットとして設定することになっています。 Relink-and-invokeは、DynamicLinker.link(RelinkableCallSite)によって設定された初期メソッド・ハンドルであり、コール・サイトがその引数に基づいて最初の起動時に適切なターゲットに再リンクされ、リンクされたターゲットが(したがって、名前)によって呼び出されます。 このリンク・プロトコルは、呼び出しサイトが実際の引数で呼び出されるまでリンクを効果的に遅延させるので、呼び出し側の静的メソッドの型だけでなく、それらの引数に基づいてリンカーが微妙なリンクを決定できるようになります。- 定義:
- インタフェース
RelinkableCallSite内のinitialize - パラメータ:
relinkAndInvoke- Dynalinkが提供する再リンクおよび呼び出しメソッド・ハンドル。
-
-