速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

ffmpeg 开发环境搭建

webrtc developer

ffmpeg

Python代码阅读(第39篇):获取列表出现频率最高的元素

Felix

Python 编程 Code Programing 阅读代码

区块链钱包系统软件开发详情(搭建案例)

从瀑布式到DevOps,开发流程经历了什么?

SoFlu软件机器人

DevOps 敏捷开发

算力挖矿系统开发内容(现成案例)

网络安全—如何预防常见的API漏洞

郑州埃文科技

数据中心 API IP地址

区块链数字货币钱包系统开发公司(案例)

锁仓挖矿软件系统开发模板(源码)

区块链多币种钱包软件系统开发费用(案例)

redis在微服务领域的贡献

Java redis 面试 微服务 后端

五个维度打造研发管理体系

车江毅

研发管理 软件开发 技术管理 研发体系 研发团队

第 19 章 -《Linux 一学就会》- shell脚本的基础

学神来啦

Linux Shell linux一学就会 linux基础

架构实战营 模块一作业

felix

架构实战营

多币种钱包系统开发介绍(现成)

模块一作业:微信业务架构图与学生管理系统毕设架构设计

deng

架构实战营

020云原生之Pod介绍

穿过生命散发芬芳

云原生 10月月更

金九银十面试了3家大厂Java岗,我得到的知识总结

Java 程序员 架构 面试 大厂

2021年10月国产数据库排行榜:达梦反超OceanBase夺榜眼,TDSQL实现“四连增”,数据生态加速建设

墨天轮

opengauss TiDB oceanbase 国产数据库 达梦

区块链数字钱包系统软件开发详情(搭建)

阿里内部珍藏版:SpringCloud Alibaba第三版(全彩手册)

Java 架构 面试 微服务 大厂

Vue进阶(幺肆零):vue 新增数组或对象更新后,视图不更新的解决方案

No Silver Bullet

Vue 10月月更

随便讲讲Python图像处理库PIL的使用

Regan Yue

Python 10月月更

2021MLB CUP 青少年棒球公开赛·秋季赛从济南拉开战幕

科技新消息

区块链加密货币钱包软件系统开发公司(现成)

淘宝小部件:全新的开放卡片技术!

阿里巴巴终端技术

小程序 ios android 淘宝 客户端开发

带你掌握不同平台下,探索JDK源码所需的native方法

华为云开发者联盟

Java jdk 系统 native JDK代码

👊 【Spring 技术特性】SpringMVC集成Java Bean Validation实现参数检验功能(上)

洛神灬殇

spring Bean Validation 10月月更

2021MLB CUP 青少年棒球公开赛·秋季赛泉城开战,DC试训带来新希望

科技新消息

加密数字货币钱包软件系统开发详情(案例)

面试官:Java从编译到执行,发生了什么?

Java 架构 面试 JVM

架构师训练营模块一作业

CheneyWang

架构实战营

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