JDK7的预发布版本包含一个类java.dyn.InvokeDynamic,允许从源代码创建invokedynamic指令。
查看此处:http://fwierzbicki.blogspot.com/2009/08/invokedynamic-and-jython-part-i.html
在官方的JDK7发行版中,这个类似乎消失了。有没有人知道这个源代码选项是否仍然受支持?
发布于 2011-08-12 12:35:27
java.dyn包已重命名为java.lang.invoke。
虽然我不认为你可以从Java中创建'invokedynamic‘指令,但是对于其他动态语言来说,这个指令是存在的。
在java语言中,你可以使用'java.lang.invoke.MethodHandle‘来代替反射,示例可以在MethodHandle类的javadoc中找到。请注意,invokedynamic指令本身依赖于MethodHandle来动态链接方法。(有关更多详细信息,请阅读甲骨文的文章New JDK 7 Feature: Support for Dynamically Typed Languages in the Java Virtual Machine)
https://stackoverflow.com/questions/7031634
复制相似问题