クラスjava.lang.invoke.CallSite
の使用
CallSiteを使用するパッケージ
パッケージ
説明
クラスやメソッド・ハンドルなどのランタイム・エンティティ用に「名目記述子」を表すクラスおよびインタフェース、および定数プール・エントリや
invokedynamic
コール・サイトなどのクラス・ファイル・エンティティ用に「名目記述子」を表すクラスおよびインタフェース。java.lang.invoke
パッケージは、Java Virtual Machineとやりとりするための低レベルのプリミティブを提供します。java.lang.runtime
パッケージでは、Java言語の低レベルのランタイム・サポートが提供されます。Dynalinkの使用をより便利にするクラスが含まれています。これには、一部のクラスの基本的な実装と様々なユーティリティを提供します。
-
java.lang.constantでのCallSiteの使用
CallSiteを返すjava.lang.constantのメソッド修飾子と型メソッド説明DynamicCallSiteDesc.resolveCallSiteDesc
(MethodHandles.Lookup lookup) 指定された引数を使用してブートストラップ・メソッドを最終的に起動し、結果のCallSite
を返します。 -
java.lang.invokeでのCallSiteの使用
java.lang.invokeのCallSiteのサブクラス修飾子と型クラス説明class
ConstantCallSite
は、永続的で決して変更できないターゲットを持つCallSite
です。class
MutableCallSite
は、ターゲット変数の動作が通常のフィールドと同じであるようなCallSite
です。class
VolatileCallSite
は、ターゲットの動作がvolatile変数と同じであるようなCallSite
です。CallSiteを返すjava.lang.invokeのメソッド修飾子と型メソッド説明static CallSite
LambdaMetafactory.altMetafactory
(MethodHandles.Lookup caller, String interfaceMethodName, MethodType factoryType, Object... args) 適切な型適応および引数の部分評価の後、指定されたMethodHandle
への委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。static CallSite
StringConcatFactory.makeConcat
(MethodHandles.Lookup lookup, String name, MethodType concatType) 最適化された文字列連結メソッドの作成を容易にします。このメソッドを使用すると、既知の型の引数(型の適応後や引数の部分評価後など)を効率的に連結できます。static CallSite
StringConcatFactory.makeConcatWithConstants
(MethodHandles.Lookup lookup, String name, MethodType concatType, String recipe, Object... constants) 最適化された文字列連結メソッドの作成を容易にします。このメソッドを使用すると、既知の型の引数(型の適応後や引数の部分評価後など)を効率的に連結できます。static CallSite
LambdaMetafactory.metafactory
(MethodHandles.Lookup caller, String interfaceMethodName, MethodType factoryType, MethodType interfaceMethodType, MethodHandle implementation, MethodType dynamicMethodType) 適切な型適応および引数の部分評価の後、指定されたMethodHandle
への委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。 -
java.lang.runtimeでのCallSiteの使用
CallSiteを返すjava.lang.runtimeのメソッド修飾子と型メソッド説明static CallSite
SwitchBootstraps.enumSwitch
(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) 列挙型のターゲットにswitch
を実装するinvokedynamic
コール・サイトをリンクするためのブートストラップ・メソッド。static CallSite
SwitchBootstraps.typeSwitch
(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) 参照タイプのターゲットにswitch
を実装するinvokedynamic
コール・サイトをリンクするためのブートストラップ・メソッド。 -
jdk.dynalink.supportでのCallSiteの使用
jdk.dynalink.supportのCallSiteのサブクラス修飾子と型クラス説明class
MutableCallSite
としてのRelinkableCallSite
の基本的な実装。class
多相インライン・キャッシング戦略を実装する再リンク可能なコール・サイト。class
単相インライン・キャッシュ戦略を実装する再リンク可能なコール・サイトであり、常に単一のGuardedInvocation
にのみリンクされます。