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)
メソッドを提供する必要があります。 -
コンストラクタのサマリー
修飾子コンストラクタ説明protected
AbstractRelinkableCallSite
(CallSiteDescriptor descriptor) 新しい抽象的な再リンク可能なコール・サイトを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明この呼び出しサイトの記述子を返します。void
initialize
(MethodHandle relinkAndInvoke) 再リンク呼び出しメソッドのハンドルを設定して、再リンク可能な呼び出しサイトを初期化するために動的リンカーによって呼び出されます。クラス 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
この呼び出しサイトの記述子を返します。- 定義:
- インタフェース
RelinkableCallSite
内のgetDescriptor
- 戻り値:
- この呼び出しサイトの記述子。
-
initialize
public void initialize(MethodHandle relinkAndInvoke) インタフェースからコピーされた説明:RelinkableCallSite
再リンク呼び出しメソッドのハンドルを設定して、再リンク可能な呼び出しサイトを初期化するために動的リンカーによって呼び出されます。 コール・サイトの実装では、このメソッド・ハンドルをCallSite.setTarget(MethodHandle)
を使用してターゲットとして設定することになっています。 Relink-and-invokeは、DynamicLinker.link(RelinkableCallSite)
によって設定された初期メソッド・ハンドルであり、コール・サイトがその引数に基づいて最初の起動時に適切なターゲットに再リンクされ、リンクされたターゲットが(したがって、名前)によって呼び出されます。 このリンク・プロトコルは、呼び出しサイトが実際の引数で呼び出されるまでリンクを効果的に遅延させるので、呼び出し側の静的メソッドの型だけでなく、それらの引数に基づいてリンカーが微妙なリンクを決定できるようになります。- 定義:
- インタフェース
RelinkableCallSite
内のinitialize
- パラメータ:
relinkAndInvoke
- Dynalinkが提供する再リンクおよび呼び出しメソッド・ハンドル。
-