快捷搜索:

您的位置:澳门新葡4473网站 > 项目 > JRuby 9.2.9.0 发布,Java 的 Ruby 解释器

JRuby 9.2.9.0 发布,Java 的 Ruby 解释器

发布时间:2020-03-13 18:02编辑:项目浏览(147)

    JRuby 9.2.9.0 发布了,JRuby 是面向 Ruby、基于 Java 虚拟机(JVM)的一种解释程序,它结合了 Ruby 语言的简易性和功能强大的 JVM 执行机制,并与 Java 库全面集成。

    JRuby 1.7最显著的变化就是使用Ruby1.9.3作为默认运行模式,当然它仍然支持1.8.7. 从以下发布说明上看,尽管JRuby 1.7修复了很多与1.9不兼容的问题,但仍未完全支持Ruby 1.9的 所有特性。

    JRuby 9.2.x 与 Ruby 2.5.x 兼容,并与 C Ruby 保持同步。

    “虽然JRuby 1.7对1.9的某些特性还不支持,比如Ripper,但已经可以稳定地在1.9模式中运行产品应用程序了。在可预见的未来,我们会每隔2到3周发布一个1.7.x补丁包,这些补丁将会解决用户向我们报告的问题以及那些尚未完成的1.9的库。”

    此版本主要更新内容包括:

    JRuby 1.7不再继续支持Java 5,同时Rubygems和Rake的相应版本也更新到1.8.24 和0.9.2.2。

    Ruby Standard Library

    • Ruby 标准库已更新为 Ruby 2.5.7 (#5917)
    • RubyGems 已更新至版本 2.7.10

    JRuby1.7能使用Java 7 的invokedynamic功能,但和第一个预览版不同,此功能现在默认为关闭状态。详细原因可见JRuby wiki:

    Security Updates

    • 此版本删除了 rdoc 库使用的可用版本的 JQuery

    “OpenJDK7的现有版本有时会发生错误或者无法优化代码。为了提供一致的JRuby体验,在Java 7中将默认关闭invokedynamic功能。

    对于那些没有出现运行错误或者性能降低的应用,我们推荐开启invokedynamic功能以获得最大性能。可以通过强制传递以下参数 “Xcompile.invokedynamic=true”给JRuby(或者添加到JRUBY_OPTS里),或者在Java虚拟机层面设置 “jruby.compile.invokedynamic=true” 参数来开启invokedynamic功能。”

    Java Modules Support

    • 在此发行版中,通过在尝试从该模块中的类反映之前检查开放性,可以更好地支持 Java 模块。这将减少 Java 9+ 上模块警告的数量,并使配置 JVM 更加容易,以向 JRuby 应用程序打开适当的模块和软件包。 (#5841, 5832, #5843, #5855, #5860)

    在Java 8 builds 的Java虚拟机中invokedynamic功能默认是开启的。

    Java Launcher Improvements

    • 现在可以将 JVM 选项添加到全局或应用程序本地 .jruby.java_opts 文件中,并由 JRuby 启动器自动处理。注意:JRuby 本机启动程序尚不支持此功能,默认情况下,该功能安装在 RVM 中。开发团队将尽快发布对本机启动器的更新。(#5824, #5826)
    • 现在可以将 --environment 传递给 JRuby 启动器,以获取有关如何执行应用程序的确切日志。(#5840)
    • JRuby 的开发模式(通过 --dev 标志)为 Java 9+ 和 OpenJ9 JVM 添加了其他选项。在 OpenJ9 上,-Xquickstart 和 -Xshareclasses 标志是通过 OPENJ9_JAVA_OPTIONS 环境变量传递的。(#5831)

    其他大量更新内容可见更新说明。

    下载地址:

    (文/开源中国)    

    您是否已经尝试过在JRuby1.7中开启invokedynamic功能? 您的应用的性能有了多少提升?

    本文由澳门新葡4473网站发布于项目,转载请注明出处:JRuby 9.2.9.0 发布,Java 的 Ruby 解释器

    关键词:

上一篇:没有了

下一篇:没有了