欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是: 首页

JRuby

科普小知识 2023-11-11 20:05:21
...

JRuby,一个采用纯Java实现的Ruby解释器,由JRuby团队开发。它是一个*软件,在CPL/GPL/LGPL三种许可协议下发布。主要开发者有CharlesNutter、ThomasEnebo、OlaBini、NickSieger等。

1、基本简介

JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库全面集成。Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器。


2、使用技巧

jruby本质上也是启动一个jvm,然后去读ruby脚本并解释执行(也可以编译),因此jprofiler理所当然也可以去监控jruby脚本的执行。

执行

jrubyhello.rb等价于执行:

java-xmx378m-xss1024k-djruby.home=/usr/local/jruby

-djruby.lib=/usr/local/jruby/libdjruby.script=jrubyorg.jruby.mainhello.rb这一点,你可以通过psaux|grepjruby看到。因此配置jprofiler就简单了,在vmarguments加上这些参数(可以包括jruby的参数),比如我的vmarguments配置如下:

-server-xmx378m-xss1024k-djruby.script=jruby-djruby.thread.pooling=true

-djruby.jit.threshold=0-djruby.compile.fastest=true

-djruby.home=d:jrubyjruby-1.1rc2-djruby.lib=d:jrubyjruby-1.1rc2lib

mainclassorexecutablejar填上:org.jruby.main。然后就是arguments一栏填上你的脚本位置:

d:rubylibhello.rb

最后,将jruby/lib目录下的bsf.jar和jruby.jar加入classpath。

你可以用jprofiler去观察gc、线程和锁、heap等等了。


3、特点

JRuby是一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的RubyIDE都是使用JRuby来解释语法的。2006年,SUN雇佣了两名JRuby团队的两名核心成员CharlesNutter和Thomas。

Enebo全职开发JRuby,后来ThoughtWorks也雇佣了一名JRuby项目的核心成员全职开发JRuby。

自此JRuby发展非常迅速,立刻推出一个50%性能提升的版本。最近又发布了0.9.8版,正式宣布官方支持Rails,单元测试有98%成功通过(也是因此称作0.9.8版?),现在开发小组全力修复剩下的2%,将会很快发布100%支持Rails的JRuby1.0。但是目前JRuby的主要精力集中在功能实现上,性能还不如理想,1.0发布之后应该就会全力解决性能问题。

JRuby1.0已经来了,可以在JVM上面运行Rails,你还等什么。


4、版本

在2006年7月中旬,JRuby仅仅有一个预览版本(0.9)。但是它迅速发展起来:一个志愿者团队从2005年一月开始总共发布了五个版本。JRuby通过针对标准解释器的不断评估测试逐渐成熟起来,而且现在已经超过90%的测试都是在基本支持RubyonRails这个框架。

上一篇: 威尼斯之夜

下一篇: 时尚芭莎

推荐阅读