`
wangdei
  • 浏览: 372174 次
社区版块
存档分类
最新评论

JSR-292草案发布了

阅读更多

    正如John Rose所宣称的那样,在JavaOne会议结束不久,JSR-292草案紧接着发布了。JSR-292用来为Java虚拟机定义invokedynamic指令规范。

InfoQ在去年十月份Da Vinci虚拟机项目(MLVM)发布的时候曾报道过JSR-292,该项目是对invokedynamic这样的技术的试验台(test bed)。

JSR-292规范领导者和MLVM的主要支撑者John Rose在其博客上就JVM应更加亲近动态语言的问题进行了一些探讨。最近,Rose就提出JSR-292的缘由进行了一些说明:

为什么增加另一种调用字节码呢?答案就是调用地点(调用字节码的实例)是非常有用的,然而现存的调用规则与Java语言绑定的太紧了以致于JVM的很多能量并未对想依附其的语言释放出来。主要的限制如下:
接收者(receiver)类型必须遵循调用地点的解析类型
并没有一般的方式以围绕着调用目标创建适配器(这是上述限制的必然结果)
调用地点必须要链接起来,这意味着调用前已解析的方法就要存在
符号调用名就是实际的方法名(这是上述限制的必然结果)
要有精确的参数匹配(又是一个必然结果)
不能颠倒链接结果(尽管优化结果在不知不觉中发生变化)
动态语言实现者在这些限制上花费了大量时间和精力,根据JVM调用字节码(由Java语言限制)模拟出一般的调用。

分享到:
评论

相关推荐

    JSR-107 标准手册 Specification

    JCache API的公共评审草案于2013年6月27日发布,并向公众征求反馈和评论。在遵守该规范所附带的许可协议的前提下,该规范被授权给公众评估使用。开发者可以基于此规范开发内部的、非商业用途的实现,并且可以与第三...

    Java闭包 Java闭包

    在2013年发布的 JavaSE8 中包含一个叫做 Lambda Project 的计划,在 JSR-335 草案 中有描述。 JSR-335 将闭包引入了 Java 。闭包在现在的很多流行的语言中都存在,例如 C++、C# 。闭包允许我 们创建函数指针,并把...

    JEE6 (JSR316) Final Draft.pdf

    ### JEE6 (JSR316) 最终草案概览与关键技术知识点 #### 标题解析:JEE6 (JSR316) Final Draft.pdf - **JEE6**(Java Platform, Enterprise Edition 6):表示该文档描述的是Java企业版平台第六版的技术规范。 - **...

    JSR256 Mobile Sensor API

    这一规范由Nokia Corporation在2008年提出,并在同年12月12日发布了其1.2版本的维护发布草案。 #### 技术背景与意义 随着智能手机和平板电脑等移动设备的普及,内置的各种传感器如加速度计、陀螺仪、磁力计等成为...

    Java Specification Requests .zip

    Java SE 6包含了JSR 292(针对invokedynamic字节码指令的改进);Java SE 8则引入了JSR 335(Lambda表达式)和JSR 310(日期和时间API)。 4. **开源与JSR**:许多JSR的实现都是开源的,如Eclipse GlassFish实现了...

    jsr107spec:JSR107缓存规范

    发布 2019年5月10日:1.1.1维护版本。 2017年12月16日:1.1.0维护版本。 2014年3月18日:1.0.0。 最终版本。 从1.0.0-RC1不变。 2013年12月16日:1.0.0-RC1。 这是与最终规范匹配的版本,该版本位于。 2013年10...

    jsr:Java规范请求

    2. **草案阶段(Public Review Draft, PRD)**:JSR的工作组开始编写规范草案,供公众审查和提供反馈。 3. **最终草案(Final Draft,FD)**:基于公众反馈,工作组对草案进行修改,形成最终草案。 4. **批准阶段...

    JAX-WS2.0规范

    JAX-WS 2.0 由 Java 社区进程 (JCP) 通过 JSR-000224 提出,并于 2005 年 10 月 7 日发布了预最终草案版本。 #### 二、JAX-WS 2.0 规范的核心特点 JAX-WS 2.0 在继承了前一版本 JAX-RPC 的基础上进行了大幅改进,...

    jtwi-1_0-pfd-spec.pdf

    - **状态**: Pre-FCS (Pre Final Compatibility Suite),拟议最终草案 - **发布日期**: 2003年6月1日 #### 版权声明与使用许可 文档明确指出该规范受到版权保护,并且其中的信息可能受到一项或多项美国专利、外国...

    Concurrency Utilities for Java EE

    文档版本为早期预览版(Early Draft V.0.1),发布日期为2006年4月4日。由Chris D. Johnson(IBM Corporation)和Revanuru Naresh(BEA Systems, Inc.)担任规范负责人。文档提供了对并发工具在Java EE中应用的初步...

    PortletSpec_20

    这份文档最初于2007年11月29日作为Proposed Final Draft(提议最终草案)发布,并由IBM Corporation担任Specification Lead(规范领导者)。该规范的目标是为portlet的开发提供一套统一的标准,以便portlet能够在...

    jersey框架介绍

    JSR 311自2008年10月发布1.0版本后,1.1版本仍在草案阶段。Jersey提供了三个主要组件: 1. **核心服务器(Core Server)**:提供了JSR 311标准注解和API,使得开发者可以直观地开发RESTful Web服务。通过在Java类和...

    Web Services for J2EE

    - **名称与版本**:该文档被称为《面向J2EE的Web服务》规范(Web Services for J2EE Specification),版本为1.0,状态为建议最终草案(Proposed Final Draft)。 - **发布日期**:该版本的发布日期为2002年8月19日...

    JSPSpec.pdf

    该规范的早期草案发布日期是2004年11月,这表明文档具有一定的历史价值,尽管可能不是最新的,但仍然可以为学习JSP技术提供基础。 3. 由于文档是通过OCR扫描得到的,因此可能包含识别错误或遗漏的文本。在学习和...

Global site tag (gtag.js) - Google Analytics