BT

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

Charles Nutter:为何选择JRuby?

| 作者 丁雪丰 关注 4 他的粉丝 发布于 2010年3月19日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

作为MRI之外的另一个Ruby实现,JRuby正受到越来越多的关注,日前JRuby团队核心成员Charles Nutter接受了一个访谈,深度探讨了很多JRuby相关的话题。

首先,JVM是一个相当成熟的VM,在内存管理、性能、安全性等方面都表现出色,而且覆盖几乎所有平台,同时拥有多个持续维护的实现可供选择。JRuby基于JVM之上,天生拥有很多优势。例如MRI上经常被提及的垃圾回收性能问题,REE通过GC补丁大幅提升了性能,而JRuby则可充分利用JVM的垃圾回收机制。

在JRuby中,我们能充分利用JVM在GC方面多年努力的结果。以Hotspot为例,这是通常我们用来测试的JVM,你有不止1个,而是5个可供选择的垃圾回收器。[..] 根据应用程序行为(或者你需要的行为)的不同,这些垃圾回收器能协同工作。而且你还能对它们进行调整和监控。

在多种Ruby实现中,JRuby的启动时间相对较长,而且启动后还要经过一段“预热”,JRuby才能发挥其最佳性能。这对服务器端应用来说不算什么,可客户端程序就不行了。Charles在其近期的博客中也提供了一些建议,帮助缩短启动时间。好在情况正在不断改观,新版JVM发布后,JRuby的启动速度将会得到进一步提升。

Java在企业级应用方面有着大量的经验,借助JRuby,我们能够更好地融合Ruby与Java,为开发者提供更好地工具及环境(例如Torquebox):

Torquebox和GlassFish都是很好的例子,通过一点Ruby技巧,如何赋予Java/JVM生态环境中最好的那些部分新的力量。无论选择谁,你都将获得一个简单的一站式部署方案,其中包含了设计良好的服务API和管理工具。

JRuby自1.2 RC1开始就支持Android平台,ruboto已能很好地在手机上提供irb功能。Android Scripting Environment也提供了JRuby支持。随着Android 1.6和2.0的更新,无需任何修改就能在Android平台上运行JRuby的日子也不会远了。

虽然自去年11月JRuby 1.4发布后,很长一段时间都没有发布新版本,但JRuby的社区正在不断发展,相信2010年里,JRuby将会有更好地表现。作为读者,您对JRuby的看法是什么?您会在项目中使用JRuby吗?

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

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

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

Re: Charles Nutter:为何选择JRuby? by 李 永伦

如果Android支持JRuby的运行,那确实很值得期待!

允许的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通知我

1 讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT