软件介绍
JRuby官方版是一款以Java虚拟机(JVM)打造的Ruby解释工具,JRuby官方版功能强劲,结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库全面集成。
软件基础简介
JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和 应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器应用的领先平台。不过如果Java平台不与Ruby等新兴语言联系在一 起,就有可能落后于流行趋势。
使用方法
JRuby官方版本质上也是启动一个jvm,然后去读ruby脚本并解释执行(也可以编译),因此jprofiler理所当然也可以去监控jruby脚本的执行。
执行
jruby hello.rb等价于执行:
java-xmx378m-xss1024k-djruby.home=/usr/local/jruby
-djruby.lib=/usr/local/jruby/lib djruby.script=jruby org.jruby.main hello.rb这一点,你可以通过ps aux|grep jruby看到。因此配置jprofiler就简单了,在vm arguments加上这些参数(可以包括jruby的参数),比如我的vm arguments配置如下:
-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
main class or executable jar填上:org.jruby.main。然后就是arguments一栏填上你的脚本位置:
d:rubylibhello.rb
最后,别忘了将jruby/lib目录下的bsf.jar和jruby.jar加入class path。
大功告成,你可以用jprofiler去观察gc、线程和锁、heap等等了。
软件优点
Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器。
另一方面,Java平台及其虚拟机、库和应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器应用的领先平台。不过如果Java平台不与Ruby等新兴语言联系在一起,就有可能落后于流行趋势。
安装步骤
1、在本站下载该软件并解压
2、打开软件安装包点击确认
3、选择安装路径点击下一步
4、等待安装完成即可
软件官网
https://www.jruby.org/
软件综述
JRuby 9.0.5.0 是 Java 和 Ruby 语言之间的一个桥梁,允许您使用 Ruby 语言编写 Java 程序。以下是其一些特点:
优势:
- 无缝集成 Java 和 Ruby:它使您可以将 Java 类和库直接用于 Ruby 代码中,反之亦然。
- Ruby DSL:您可以使用 Ruby DSL(领域特定语言)来扩展 Java 类,从而使其更容易使用。
- 高性能:它使用 JIT(即时编译器),可以优化 Ruby 代码的执行,提高性能。
- 广泛的社区支持:它有一个活跃的社区,提供文档、教程和支持。
- 与 Java 生态系统集成:它可以访问 Java 虚拟机 (JVM) 上可用的所有 Java 库和框架。
缺点:
- 限制:它提供了一个 Ruby 语言的子集,并受到 Java 虚拟机限制的影响。
- 内存消耗:它可能比在 Ruby 虚拟机 (MRI) 中运行本机 Ruby 代码消耗更多的内存。
- 性能开销:它在 Ruby 和 Java 代码之间引入了一层间接,这可能会引入一些性能开销。
- 与传统 Ruby 代码库的兼容性:它可能与传统 Ruby 代码库的兼容性较低,需要一些代码修改。
适合使用的场景:
JRuby 适用于需要 Java 和 Ruby 集成的场景,例如:
- 扩展现有 Java 应用程序
- 构建与 Java 库交互的 Ruby DSL
- 在 JVM 上运行 Ruby 代码以提高性能
- 开发跨平台应用程序,利用 Java 和 Ruby 的优势
总体而言,JRuby 9.0.5.0 是一款成熟且稳定的工具,可以有效地桥接 Java 和 Ruby 世界。