从JDK7中的源代码调用InvokeDynamic

Eri*_*ric 1 invokedynamic java-7

JDK 7的预发布版本包含一个java.dyn.InvokeDynamic类,允许从源代码创建invokedynamic指令.

见这里:http: //fwierzbicki.blogspot.com/2009/08/invokedynamic-and-jython-part-i.html

在官方的JDK 7发布中,这个类似乎已经消失了.有谁知道这个源代码选项是否仍然受支持?

Dee*_*zad 7

java.dyn包已重命名为java.lang.invoke.

虽然我认为你不能从Java创建'invokedynamic'指令,但是指令适用于其他动态语言.

在Java中,您可以使用'java.lang.invoke.MethodHandle'作为反射的更快替代方法,示例在MethodHandle类的javadoc中可用.请注意,invokedynamic指令本身依赖于MethodHandle来动态链接方法.(有关更多详细信息,请阅读Oracle的文章New JDK 7 Feature:Java虚拟机中对动态类型语言的支持)