写点什么

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

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

关注

评论

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

数仓性能调优:如何进行函数下推

华为云开发者联盟

数据库 后端 华为云 函数 企业号十月 PK 榜

解React框架核心原理

夏天的味道123

React

户外led显示屏如何防火

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

彻底搞懂Vue虚拟Dom和diff算法

yyds2026

Vue

vue实战-完全掌握Vue自定义指令

yyds2026

Vue

经常被问到的react-router实现原理详解

夏天的味道123

React

OPPO 引力计划全方位升级,与开发者共建折叠屏上繁荣生态

极客天地

云管平台常见问题汇总解答-行云管家

行云管家

云计算 企业上云 云管理

2022-10微软漏洞通告

火绒安全

安全漏洞

保10万涨薪、保Offer、保大厂,1V1私教服务上线啦!

测吧(北京)科技有限公司

测试

React-hooks+TypeScript最佳实战

xiaofeng

React

过等保流程简单说明-行云管家

行云管家

网络安全 等级保护 过等保 等保2.0

Vue组件入门(七)v-model与自定义事件

Augus

Vue3 10月月更

自定义注解判断参数为空

派大星

Gartner 权威解读: SBOM 采用率将于2025年达到60%

SEAL安全

DevSecOps Gartner SBOM 软件供应链安全

2022年10月中国数据库排行榜:达梦冲刺IPO热度不减,PolarDB立足创新夺锦才

墨天轮

数据库 opengauss tdsql TiDB 国产数据库

区块链链游项目系统开发程序方案(Demo)

I8O28578624

Vue 中为什么要有nextTick

华为云开发者联盟

Vue 前端 DOM 华为云 企业号十月 PK 榜

实践GoF的设计模式:代理模式

华为云开发者联盟

Go 开发 华为云 企业号十月 PK 榜

安势清源SCA助力超大规模高科技企业加速开源风险治理

安势信息

开源 腾讯 SCA SBOM 软件供应链安全

几个你必须知道的React错误实践

xiaofeng

React

React-Hook最佳实践

xiaofeng

React

进销存软件哪个简单好用?

优秀

进销存管理系统 进销存系统

Redis 底层数据结构说明

water

使用ESLint+Prettier统一Vue3项目代码风格

汪小成

10月月更

vue实战中的一些小技巧

yyds2026

Vue

Apache Doris 1.1.3 版本正式发布!|版本通告

SelectDB

数据库 大数据 开源 数据分析 Doris

人人能读懂redux原理剖析

夏天的味道123

React

议程剧透!1个主论坛4场Workshop,龙蜥操作系统峰会盛大来袭 | 2022 云栖大会

OpenAnolis小助手

开源 报名 云栖大会 论坛 龙蜥操作系统峰会

微服务是开发架构对三高场景的妥协吗?

NoGirlfriendDeFoundException

架构 微服务 单体架构 云平台

一文读懂TDengine3.0中的事务机制

TDengine

数据库 tdengine 时序数据库

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