[英]CallSite explanation needed
来自CallSite文档
CallSite 是一个变量 MethodHandle 的持有者,它被称为它的目标。 链接到 CallSite 的调用动态指令将所有调用委托给站点的当前目标。 一个 CallSite 可能与多个调用动态指令相关联,或者它可能是“自由浮动的”,不与任何相关联。 在任何情况下,它都可以通过称为其动态调用程序的关联方法句柄来调用。
问题:
可以更改 CallSite 中的目标吗? 如何? 请提供代码示例。
CallSite 如何与多个invokedynamic
指令相关联?
“自由浮动”CallSite 是什么意思? 如何创建?
编辑:注意:我想知道编写代码/lambda 的不同方法,以便在程序中出现这 3 点。
CallSite#setTarget
更改MutableCallSite
或VolatileCallSite
的目标CallSite
。 编辑:我想你误解的文档,我想你永远不应该初始化CallSite
直接从你的代码,因为没有使用和文档的存在是为了告诉它做什么,以及JVM使用它来为提供MethodHandle invokedynamic
指令.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.