写点什么

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

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

关注

评论

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

【Axure9百例】47.CSDN的列表样式

zhuchuanming

原型设计 Axure 交互原型

从新手到专家:如何设计一套亿级消息量的分布式IM系统

JackJiang

架构设计 即时通讯 IM

局域网服务器访问外网方案

程序员与厨子

Linux 网络 路由表

满满干货|支付宝美女面试官的贴心锦囊

Lily

跨越数据的“叹息墙”:华为下一代数据湖与HPDA时代

脑极体

Java反射简析

Langer

Java java反射

记一次生产环境大面积404问题!

冰河

nginx 网关

推动产业数字化 提升服务实体经济质效

CECBC

科技

Java + opencv实现视频人脸检测

张音乐

OpenCV 人脸识别 视频

Redis - 主从模式

insight

redis 3月日更

PS 进行隐藏图制作

空城机

PhotoShop ps 视觉处理 视觉 隐藏图

go + ffmpeg + goav 实现拉流解码器

张音乐

音视频 ffmpeg Go 语言 goav

工作四年,分享50个让你代码更好的小建议

比伯

Java 程序员 架构 程序人生 计算机

如何快速掌握 Kubernetes 网络

倪朋飞

学习方法 Kubernetes 云原生

高性能公链能为 DeFi 带来什么?

CECBC

区块链

“数字足迹”怕暴露,数字人民币如何守护你我隐私安全?

CECBC

数字货币

关于Vue权限路由思考

程序员海军

Vue 大前端 vue-router 权限认证 按钮权限

算法:求两个单向链表的最早公共交点

程序员架构进阶

算法 链表 28天写作 3月日更 算法解析

双非怎么了

我是程序员小贱

3月日更

软件架构中的模块与组件

Simon

架构实战营

Java + opencv 实现图片人脸检测

张音乐

Java AI OpenCV ffmpeg 人脸识别

Centos7下Docker安装&配置&镜像加速

happlyfox

学习 ,docker 3月日更

聊聊集群、分布式和微服务之间的异同点

架构精进之路

分布式 微服务 集群 3月日更

FFmpeg应用篇

Changing Lin

3月日更

记上周双休日的加班

sadhu

加班

零信任提升组织的数字安全性

龙归科技

网络 数字时代 零信任

普元CTO焦烈焱:成长之路务必重视工程能力

EAWorld

程序员

《MySQL》系列 - select 查询语句到底是怎么执行的?

一个优秀的废人

MySQL 数据库 原理 sql查询

如何激励员工?—— 马斯洛需求理论

石云升

激励 28天写作 职场经验 管理经验 3月日更

工作三年,小胖不知道 MySQL 日志是干嘛的。真的菜

一个优秀的废人

MySQL mysql事务 MySQL日志

OKR实践中的痛点(4):再谈老板的KR我的O

大叔杨

OKR 敏捷 绩效 敏捷绩效

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