2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

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:26503
用户头像

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

关注

评论

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

Easy New File for Mac(右键增强工具)v5.8中文激活版

Rose

LibRaw Monochrome2DNG for Mac(DNG格式转换器)v1.7.1激活版

Rose

分布式 UI 自动化测试环境部署实践:使用 Docker 快速构建测试平台

测吧(北京)科技有限公司

测试

模型驱动测试 (MBT):从概念到实践的全面解析

测吧(北京)科技有限公司

测试

sd-wan 网络加速: 未来网络优化的关键技术

宽炜网络

SD-WAN

探索模型驱动测试框架:GraphWalker 的自动化测试用例生成

测吧(北京)科技有限公司

测试

软件测试的未来:如何跨越自动化到自主测试的鸿沟

测吧(北京)科技有限公司

测试

Affinity Photo(图像处理软件) v2.5.7中文直装版/便携版

Rose

什么时候选择 Docker,什么时候选择虚拟机?

测吧(北京)科技有限公司

测试

Paragon Hard Disk Manager永久激活 mac磁盘管理工具

Rose

Docker Compose 实战:如何使用 Docker Compose 进行多容器应用编排

测吧(北京)科技有限公司

测试

DeepSeek 最新推理模型 R1-Lite:一场数学题的死胡同之旅

测吧(北京)科技有限公司

测试

Docker 容器网络模式详解:Bridge、Host 与 Container 的区别

测吧(北京)科技有限公司

测试

Native Instruments Traktor Pro:专业DJ混音新纪元,重塑音乐创作边界!

Rose

AI口语评测App的主要功能

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

MIT、OpenAI震撼力作!AI自主发现人工生命,软件测试行业如何迎接未来挑战

测吧(北京)科技有限公司

测试

1688 商品列表接口系列(1688 API)

tbapi

1688商品列表接口 1688API

软件测试丨消息管道(Kafka)测试体系

测试人

软件测试

轻量级限流算法的实现,拿走即用!

伤感汤姆布利柏

Docker 网络模式实战:从 Bridge 到 Host 再到 Container 的配置与应用

测吧(北京)科技有限公司

测试

人工智能在数字化转型中的角色:从数据分析到智能决策

天津汇柏科技有限公司

数字化转型 AI 人工智能

基于LangChain实现数据库操作的智能体

测吧(北京)科技有限公司

测试

AI口语练习App的技术难点

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

湖仓进化,极速统一|StarRocks 2024 社区年度报告

StarRocks

大数据 LakeHouse 湖仓一体 2024年终总结

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