阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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

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

关注

评论

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

getInteger还是getIntValue,这是一个问题

FunTester

Java json Groovy

这是一次鸡肋的代码审计

网络安全学海

网络安全 信息安全 计算机 渗透测试 安全漏洞

明道实施与需求的耦合

明道云

Druid 集群方式部署 —— 配置 Zookeeper 连接

HoneyMoose

架构实战营模块四作业

maybe

如何洞察出推荐的关键时刻

石云升

推荐 用户体验 体验设计 8月日更

浅谈限流组件的应用和设计原则

xiaoxi666

redis sentinel 分布式限流 redisson redis-cell

【前端 · 面试 】HTTP 总结(六)—— HTTP 版本区别

编程三昧

面试 HTTP 8月日更 http版本

我受够WIN10了!!!

Jackpop

架构实战营毕业设计

Saber

架构实战营

使用 MVC 架构构建 Flask CRUD 应用程序

吴脑的键客

Python flask

MQTT-消息传输协议

一个大红包

8月日更

基于 HLS 创建 Golang 视频流服务器

声网

音视频 HLS

区块链技术改进身份和访问管理(IAM)的10种用例

CECBC

分布式认知工业互联网平台如何赋能企业数字化转型?

CECBC

DataFrame数据创建:10种方式任你选

Peter

Python 数据分析 pandas

网络攻防学习笔记 Day97

穿过生命散发芬芳

态势感知 网络攻防 8月日更

趁着课余时间学点Python(五)用课余时间提升自己关于高级数据类型的知识

ベ布小禅

8月日更

Java操作Office:POI之word生成

程序员架构进阶

Java Apache POI 技术应用 8月日更 代码实战

Druid 集群方式部署 —— 启动服务

HoneyMoose

yyds,Win10真香!!!

Jackpop

hbase运维故障案例分析

GrowingIO技术专栏

大数据 运维 HBase

Pandas系列_DataFrame数据筛选(上)

Peter

Python 数据分析 pandas

外包三年给整废了,备战两月终拿到4家大厂offer,阿里P6+这回稳了

Java架构师迁哥

Black Hat 2021上的七大网络威胁趋势

百度开发者中心

最佳实践 方法论

双证在手,运维无忧!明道云通过两项国家级质量认证

明道云

云原生时代,腾讯如何做好容器安全体系建设?

腾讯安全云鼎实验室

腾讯云 容器

专访融云 CTO 任杰:构建通信云全能力

融云 RongCloud

在明道云上搭建的应用维护管理的几点建议

明道云

Druid 集群方式部署 —— 配置调整

HoneyMoose

Druid 集群方式部署 —— 端口调整

HoneyMoose

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