【问题标题】:invokedynamic and its advantages to application developerinvokedynamic 及其对应用程序开发人员的优势
【发布时间】:2012-02-10 08:22:57
【问题描述】:

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

【问题讨论】:

    标签: java jvm java-7 invokedynamic


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 此回复现已完全过时,应删除。
      • 您能详细说明一下吗?
      • Java 8 在底层使用了 invokedynamic 来实现其相当多的功能 - 包括 lambda 和默认方法
      猜你喜欢
      • 2013-02-26
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 2016-09-19
      • 2020-02-01
      • 2019-04-10
      • 1970-01-01
      相关资源
      最近更新 更多