写点什么

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

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

关注

评论

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

一次用户故事拆分分享

Bruce Talk

敏捷 Agile 用户故事 User Story

马丁策略倍投软件开发,量化倍投系统

欢迎 ProForma 的制造商 ThinkTilt 加入 Atlassian 的大家庭!

Atlassian

敏捷 esm ITSM Atlssian JiraServiceManagement

Java最前沿技术——ZGC

AI乔治

Java 架构 jdk ZGC JVM

掉坑了!GROUP_CONCAT函数引发的线上问题

AI乔治

Java MySQL 架构 GROUPING运算符

千人万面奇妙自见:爱奇艺短视频推荐技术中多兴趣召回技术的演变

爱奇艺技术产品团队

推荐 短视频 模型 召回

苹果(Apple Watch)手表使用必知必会19条

Flychen

苹果手表 IWatch Apple Watch

噱头or契机:多端协同游戏的草蛇灰线

脑极体

内容平台与热点挖掘思考

程序员架构进阶

28天写作 4月日更 领域思考 内容平台

如何从零开始学Python:(7)如何解决发布和上传代码过程中遇到的问题?

广之巅

Python 4月日更

太厉害了,终于有人能把Ansible讲的明明白白了,建议收藏

沐风

ansible

基于NIO高性能、可扩展网络应用库:xSocket

风翱

4月日更 xSocket

自动源代码质量度量(ISO/IEC 5055)

Tom(⊙o⊙)

软件质量 静态分析

ShutdownHook原理

捉虫大师

Java

【得物技术】得物分布式UI自动化实践

得物技术

测试 UI 质量 自动化测试 得物技术

关于读书的随想

小天同学

读书 4月日更

Flink的Checkpoint持久化存储方案

五分钟学大数据

flink 4月日更

大数据-数据处理分类篇

进击的梦清

大数据 批处理 流式计算框架

产品训练营第三周作业

innovator琳

产品

Flink的状态一致性

大数据技术指南

flink 4月日更

世界读书日,爱奇艺ers的技术产品书单

爱奇艺技术产品团队

读书

Git 常用命令速查

箭上有毒

4月日更

大学生调研:在选择工作时,最看重什么?

石云升

28天写作 4月日更 1 周年盛典

当区块链遇到工业互联网,浪潮云洲链正在那里

云计算

40 图|硬核解析用 Mac M1 玩转 SpringCloud

悟空聊架构

开源 Mac SpringCloud m1 passjava

深入汇编指令理解Java关键字volatile

AI乔治

Java 架构 volatile Java内存模型

读书有用吗

孙苏勇

读书

网络协议学习笔记 Day2

穿过生命散发芬芳

网络协议 4月日更

如何利用 Google 开源工具 Ko 在 kubernetes 建并部署 Go 应用

公众号:云原生Serverless

Kubernetes 云原生

浅析 Linux 中的 I/O 管理

赖猫

Linux

HZFE 快报002 / 比特币7年来首次跌破50天均线

HZFEStudio

大前端 金融科技 科技互联网 资讯

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