QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Charles Nutter:为何选择 JRuby?

  • 2010-03-18
  • 本文字数:865 字

    阅读完需:约 3 分钟

作为 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 吗?

2010-03-18 02:051970
用户头像

发布了 135 篇内容, 共 61.1 次阅读, 收获喜欢 43 次。

关注

评论

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

演绎法、归纳法、辩证法

mtfelix

28天写作

Go+ URL 解析教程(5.6)

liuzhen007

28天写作 12月日更

架构实战营 4 期第二模块作业

jialuooooo

架构实战营

反射

Nydia

React 任务调度

贝壳大前端技术团队

前端 React

TCP报文发送的那些事

程序员历小冰

网络 TCP/IP 28天写作 12月日更

细节的问题

将军-技术演讲力教练

吹水的6大坏习惯

搬砖的周狮傅

沟通艺术

Dubbo框架学习笔记五

风翱

dubbo 12月日更

读《思辨与立场》-05批判性思维发展的四个层级

wood

28天写作 批判性思维 思辨与立场

Turbine

李子捌

微服务 28天写作 12月日更

保护自己电脑绝对不做黑客肉鸡

喀拉峻

网络安全 安全

不太推荐 《沟通的方法》(17/28)

赵新龙

28天写作

抬头看天

xujiangniao

知识梳理

20强诞生!2021 OceanBase 数据库大赛决赛酣战在即!

OceanBase 数据库

开源 oceanbase 高校 OceanBase 数据库大赛

学生管理系统架构文档

drizzle

「架构实战营」

如何在 CentOS 8 服务器上安装 ISP Config 3.2?

Ethereal

服务器 ISP CentOS 8

如何在 Debian 11 上使用 Nginx 安装 HTTP Git 服务器

Ethereal

nginx git HTTP Debian 11

分布式锁及其实现

xcbeyond

分布式锁 28天写作 12月日更

47 K8S之 Ingress资源

穿过生命散发芬芳

k8s 28天写作 12月日更

【LeetCode】换酒问题Java题解

Albert

算法 LeetCode 12月日更

文本编辑器GNU Nano 6.0 发布!

Ethereal

Nano

存量经营

张老蔫

[Pulsar] Producer 流控

Zike Yang

Apache Pulsar 12月日更

性能工具之linux三剑客awk、grep、sed详解

zuozewei

Linux 性能测试 12月日更

面向WEB开发人员的Docker(七):使用 Docker 开发Node应用程序

devpoint

node.js Docker 12月日更

详解PON基础知识:OLT、ONU、ONT和ODN,建议收藏

Ethereal

pon 光纤 弱电工程师

.NET 6新东西--高性能日志

喵叔

28天写作 12月日更

模块二作业

whoami

「架构实战营」

HTTP超时处理

JavaEdge

12月日更

16.  《重学JAVA》--1.8新日期类

杨鹏Geek

Java 25 周年 28天写作 12月日更

Charles Nutter:为何选择JRuby?_Java_丁雪丰_InfoQ精选文章