写点什么

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

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

关注

评论

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

Dapp/DeFi/Swap交易所代币质押项目挖矿系统开发详情

l8l259l3365

深入了解手机App开发:从构思到上线的全过程

天津汇柏科技有限公司

数字化转型 低代码开发 定制软件开发 软件开发定制

EthSign联合创始人 POTTER LI 确认出席Hack .Summit() 香港区块链开发者大会!

TechubNews

企业要想构建 AI 竞争力,就必须“私藏”大模型

极狐GitLab

✅被百度追着项目问,上亿数据,限制1G内存,如何去重?

派大星

Java 面试题 互联网大厂面试 数据去重

华为云云原生专家入选全球顶级开源组织CNCF技术监督委员会

极客天地

【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit

HarmonyOS SDK

HarmonyOS

请认真对待你的简历

老张

面试 简历优化 简历

OpenAI文生视频大模型Sora:重塑视频内容生产

百度开发者中心

视频 大模型 人工智能、

AI大模型的发展趋势与应用前景

百度开发者中心

AI 大模型 人工智能、

大神玩花:借助WASM在浏览器中运行数据库

张文平

数据库 postgresql 前端 应用开发 Supabase

装配行业如何通过MES系统实现生产管理数字化

万界星空科技

制造业 生产管理系统 mes 万界星空科技 装配行业

详解Python中sys模块的功能与应用

华为云开发者联盟

Python 开发 华为云 函数 华为云开发者联盟

JavaScript之structuredClone现代深拷贝

南城FE

JavaScript 前端 深拷贝

Selenium帮助你轻松实现浏览器多窗口操作

霍格沃兹测试开发学社

教你用Ubuntu快速搭建饥荒服务器

华为云开发者联盟

开发 华为云 华为云开发者联盟 华为云服务器 饥荒

请查收!“全国大学生智能汽车竞赛”线上赛备赛指南

飞桨PaddlePaddle

人工智能 百度 AI BAIDU 百度飞桨

子线程如何获取Request

伤感汤姆布利柏

华为云命令行工具KooCLI—高效云端管理的秘诀

云计算 API 华为云

RDS for MySQL Serverless公测上线:弹性伸缩,最高可降成本超80%

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云Serverless

Python黑科技揭秘:多窗口操作不再是难题,这些技巧让你轻松搞定

测试人

Python 软件测试 自动化测试 测试开发

春招开始,面试也多起来了

王磊

Java 面试

Python黑科技揭秘:多窗口操作不再是难题,这些技巧让你轻松搞定

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

测试

探索Terraform实践:优化基础设施管理

SEAL安全

架构 运维 Terraform

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