0

最近,我正在阅读有关 Java 7 特性的信息,invokedynamic 是最受期待的特性之一。大多数博客/文章从 JVM 实现的角度提供了优势,特别是对于动态类型语言。从应用程序开发人员的角度来看,它对我有何影响?

4

2 回答 2

3

如果您正在使用其中一种动态语言编写应用程序,您的应用程序将(可能)运行得更快。尤其是 JRuby 目前大量使用它。

如果您使用 Java 编写,它不会影响您,因为 Java(当前)不使用此指令。我认为有人谈论 Java 8 语言功能之一可能正在使用它,但我现在找不到对此的参考,而且 Java 8 现在还有很长的路要走。

于 2012-02-10T08:27:07.417 回答
2

在 Java 中,您可以使用 MethodHandle 作为反射的更快替代方案。您可以在此处阅读有关 MethodHandles 的更多信息。

注意 MethodHandle 不使用 invokedynamic,但 MethodHandle 特性是为了提供对 invokedynamic 的支持而开发的。对于Java 应用程序开发人员而言,MethodHandle 是从invokedynamic 工作中产生的唯一好处。

于 2012-02-17T12:52:51.370 回答