BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JRuby综述:JRuby发布、ruby2java、JSR 292进展

| 作者 Werner Schuster 关注 9 他的粉丝 ,译者 崔康 关注 1 他的粉丝 发布于 2009年6月12日. 估计阅读时间: 2 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

JRuby 1.3现已发布,包括很多性能改进和错误修正。新的改进包括添加了Nailgun、快速timeout和其他(点击查看1.3版的更多变化信息,如Nailgun、不再支持Java1.4)。

JRuby 1.3也是首个兼容Google AppEngine Java支持的稳定版本。

在新版本中timeout似乎存在问题,不过该问题已经在JRuby的分支版本中修正。目前的解决办法是,从分支中构建JRuby,或者等待1.3.1版本发布。

同时,改进JRuby速度的工作仍在进行中。其中一个改进编译JRuby的项目是ruby2java

Ruby2Java编译器检查类的运行时定义来产生正常的Java类。所有元编程方法都反映在Java类中,就像对这些方法做了运行时修改一样。

ruby2java项目位于Kenai,需要最低JRuby 1.3版本运行。

Ruby2java旨在改善JRuby在现有JVM上的速度。但是,JDK/Java 7中的一些变化可能对性能有显著的提高。JSR-292收集了JVM的前几个变化以实现这个目标。 

其中一个变化是引入了新的字节码invokedynamic,其提供了针对调用的定制查找方法,例如,如果一个消息发送给接受者,语言运行时被调用并处理查找、返回实际运行的方法。虽然这本身不会带来很大的改进,但指导思想是JVM可以对调用提供更好的优化。

这种方法已讨论多年,但是慢慢才变成现实。JavaOne 09大会上的某些讨论就是针对JSR-292:复兴虚拟机技术JSR 292手册,深入探讨了JVM的变化和未来的变化趋势。

Charles Nutter也在使用invokedynamic和新方法处理方式上取得了进展,包含该代码的JRuby版本在某一个代码分支上。

新功能目前只在JVM的研究版本或者早期JDK 7版本中提供(invokedynamic几周前已经包含在JDK 7中)。

查看英文原文:JRuby Roundup: JRuby 1.3 Released, ruby2java, JSR 292 Progress

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT