1

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

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

在正式的 JDK 7 版本中,这个类似乎已经消失了。有谁知道这个源代码选项是否仍然受支持?

4

1 回答 1

7

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

尽管我认为您不能从 Java 创建“invokedynamic”指令,但该指令适用于其他动态语言。

在 Java 中,您可以使用 'java.lang.invoke.MethodHandle' 作为反射的更快替代方案,MethodHandle 类的 javadoc 中提供了示例。请注意,invokedynamic 指令本身依赖于 MethodHandle 来动态链接方法。(更多细节可以阅读Oracle的文章New JDK 7 Feature: Support for Dynamically Typed Languages in the Java Virtual Machine

于 2011-08-12T04:35:26.937 回答