加载中...

JRuby 是 Ruby 语言在 Java 虚拟机上的实现,目标是与 Ruby 官方实现(CRuby/MRI)高度兼容,同时获得 JVM 的性能、垃圾回收与线程能力。
JRuby 没有全局解释器锁,Ruby 线程映射到 JVM 线程,可在多核上真正并行,这是它相对 CRuby 的核心优势之一。借助 JVM 的 JIT 编译,长时间运行的 JRuby 程序性能往往优于 CRuby。Ruby 代码可直接调用 Java 类,便于复用 Java 生态。
启动速度慢于 CRuby;依赖 C 扩展的 gem 需要改用 Java 实现或 FFI 替代;对 Ruby 新版本特性的跟进略有滞后。
适合需要高并发的 Rails 应用、需要嵌入 Java 系统的 Ruby 脚本,以及希望用一个进程多线程替代多进程部署的场景。JRuby 是 JVM 多语言战略(Polyglot JVM)最成功的案例之一。

登录 后参与讨论
暂无讨论,来发表第一条评论吧