2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

OpenJDK 上可以进行动态调用了

  • 2008-09-04
  • 本文字数:744 字

    阅读完需:约 2 分钟

John Rose 宣布了“国际动态调用日(International InvokeDynamic Day)”,以此来庆祝其通过’invokedynamic’指令首次成功调用了动态方法:

今天凌晨,JVM 首次针对 invokedynamic 指令处理了一个完全的引导周期、链接常量池入口、创建具体的调用地址对象、寻找并调用每个类的引导方法、将具体的调用地址链接到方法句柄,然后通过方法句柄重新高速调用链接的调用地址 999 次。尽管方法签名一样,但调用者所指的方法名与被调用的是不同的。链接是通过随机的、引导方法中手写的 Java 代码来实现的。

“invokedynamic”指令是为多语言虚拟机(叫做’ Da Vinci Machine ’)所计划的众多特性之一。Da Vinci 中所有计划的增强特性都在 MLVM 站点的子项目部分进行了描述。动态调用也是 JSR-292 的一部分, InfoQ 早前已经对其进行了讨论,同时它也是对一些针对核心 Java VM 的实验性的 Da Vinci 工作的一种改编。John Rose 所发表的声明表明’invokedynamic’首次运行在 OpenJDK hotspot 虚拟机上。

动态调用是针对 JVM 的动态语言开发者最期望的特性之一。 Gilad Bracha 在InfoQ 上讨论过动态调用背后的理论以及为何它是一种必要增强的原因。

JRuby 的领导者 Charles Oliver Nutter 就 John Rose 的声明发表了以下看法:

太棒了…待今明两天 JRuby 1.1.4 发布后我就要进行一次动态调用。正好用它作为秋季会议的演示。

Groovy 的项目经理 Guillaume Laforge 用简单的一句话表示祝贺:

香槟!:-)

但是对于动态调用来说还有很长的一段路要走。当然,动态语言(如 JRuby 和 Groovy)必须适时利用新的指令。Rose 指出对于核心实现来说依旧还有很多工作需要完成:

至于 JVM 代码,它只工作在 x86/32 上;下一步工作就是将汇编码移到正确的文件中并完成对 x86/64 和 SPARC 的支持。

查看英文原文: Dynamic Invocation Runs on OpenJDK

2008-09-04 07:26531
用户头像

发布了 88 篇内容, 共 268.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

应用实战——数据库设计时设计标识字段的一些思考【mysql】

老农小江

数据库设计 实战

多团队如何评估故事点(译) ——来自Mike Cohn的建议

Bruce Talk

敏捷开发 Agile 估算与计划

week07作业

龙卷风

架构师一期

第七周作业总结

Geek_ce484f

极客大学架构师训练营

第七周作业

fmouse

极客大学架构师训练营

第三周作业

晴空万里

7.7 第七周课后练习

张荣召

《一本小小的MyBatis源码分析书》.pdf

田维常

电子书

架构师训练营 第三周作业

文江

架构2期 - 第三周作业(2)

浮生一梦

极客大学架构师训练营 第三周总结 2组

【第七周】课后作业

云龙

《Java并发编程的艺术》.pdf

田维常

电子书

架构师训练营第三周作业

leo

极客大学架构师训练营

Architecture Phase1 Week7:Summarize

phylony-lu

极客大学架构师训练营

设计模式

小黄鱼

极客大学架构师训练营

[架构师训练营第 1 期] 第七周命题作业

猫切切切切切

极客大学架构师训练营

简单工厂模式

猴子胖胖

设计模式 Go 语言

第七周总结

_

极客大学架构师训练营 第七周总结

第七周作业

Geek_ce484f

极客大学架构师训练营

week07学习总结

龙卷风

架构师一期

架构一期第七周作业

Airs

第七周总结

fmouse

极客大学架构师训练营

架构师训练营第三周学习笔记

李日盛

设计模式

架构 2 期 - 第三周作业(1)

浮生一梦

极客大学架构师训练营 第三章作业 2组

第三周学习总结

晴空万里

架构师训练营第 7 周课后练习

叶纪想

极客大学架构师训练营

性能测试中并发量与响应时间和吞吐量的关系

天天向上

极客大学架构师训练营

[架构师训练营第 1 期] 第七周学习总结

猫切切切切切

极客大学架构师训练营

JVM真香系列:轻松理解class文件到虚拟机(上)

田维常

JVM

JVM真香系列:轻松理解class文件到虚拟机(下)

田维常

JVM

组合模式

猴子胖胖

设计模式 Go 语言

OpenJDK上可以进行动态调用了_Java_R.J. Lorimer_InfoQ精选文章