Answers:
JRuby是在JVM上运行的Ruby实现,而Matz的Ruby是C实现。
要注意的主要功能是:
JRuby Wiki列出了其他差异:
我可能是错的,但是我认为您可以使用普通RoR无法做到的方式打包JRuby on Rails应用-查看Mingle或类似的东西。使出售时无需掉裤子或打开和服。
就是说,我对RoR包装还不太熟悉,所以不要拘泥于:)
这里已经有一些不错的答案。
eebbesen已经介绍了基础知识,而kares(他自己!)告诉我们JRuby没有GIL。
我将从一个更实际的角度进行补充,我已经在Ruby on Rails上启动了应用程序,然后出于性能原因迁移到JRuby。
有两个主要的性能优势:在某些情况下,JRuby比(或过去)快于Ruby,另外两个,缺少Global Interpreter Lock的优点使我可以进行多线程处理,尽管棘手,但解锁了数量级的性能优势。
一个非常大的Ruby on Rails应用程序移植了一个小时,并运行了宝石和所有内容。唯一实际的故障是Java的正则表达式与Ruby的正则表达式略有不同。对于JRuby而言,这是一个巨大的成就。