写点什么

JRuby 1.4 正式发布,修正大量 Bug

  • 2009-11-08
  • 本文字数:1261 字

    阅读完需:约 4 分钟

2009 年 11 月 2 日,在经历了 3 个 RC 版本之后,JRuby 社区终于迎来了 JRuby 1.4 的正式版本。(点击此处查看官方发布说明。)

说起 JRuby 1.4,最令人关注的特性应该就是对 Ruby 1.8.7 的兼容了。考虑到 1.8.7 已经成为 Rails 的推荐 Ruby 版本,而且很多操作系统也将 1.8.7 作为默认的 Ruby 版本,JRuby 团队在 1.4 版中开始兼容 1.8.7,需要注意的是其 patchlevel 是 174,因此并不保证兼容其后的特性也能得到支持。对于 Ruby 1.9 的支持也是大家关注的焦点,JRuby 1.4 对–1.9 做了一些改进,例如升级 stdlib 到 1.9.2preview2,能够运行 RubyGems(RubyGems 版本升级到了 1.3.5)了等等。

复制代码
>jruby -v
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3)
(Java HotSpot(TM) Client VM 1.6.0_10) [x86-java]
复制代码
>jruby --1.9 -v
jruby 1.4.0 (ruby 1.9.2dev trunk 24787) (2009-11-02 69fbfa3)
(Java HotSpot(TM) Client VM 1.6.0_10) [x86-java]

对于 Windows 用户而言,新版本解决了很多 Windows Native Launcher 相关的问题,同时还特意提供了适用于 Windows 版本的安装包(分为带 JRE 不带 JRE 的两个版本),安装十分方便,比较人性化。

Ola Bini 重新实现了 JRuby 的 YAML 解析器—— Yecht ,它更接近于 MRI 中使用的 Syck,这一改变将能解决很多 YAML 方面的兼容性问题,JRuby 团队希望 Yecht 能成为 JRuby 最终的 YAML 解析器。

在 Java 集成支持方面,除了性能提升,还对 Java 方法选择和 Java/Ruby 类型间的强制转换 API 做了修改,例如,1.4 中提供了 java_method、java_send 和 java_alias 方法。关于更多细节和整个 Java 集成方面的计划,Charles Nutter 在邮件列表中做了详细说明

此外,JRuby 1.4 还提供了一套新的嵌入框架—— RedBridge ,自 1.4RC1 以来该框架也得到了不少改进。有了 RedBridge,使用者可以直接使用 JSR223,而无须另外下载 JAR 包;对于 BSF,RedBridge 的实现也优于之前的版本。RedBridge 的使用非常简单,在其 Wiki 上提供了一个范例:

复制代码
package vanilla;
import org.jruby.embed.ScriptingContainer;
public class HelloWorld {
private HelloWorld() {
ScriptingContainer container = new ScriptingContainer();
container.runScriptlet("puts \"Hello World!\"");
}
public static void main(String[] args) {
new HelloWorld();
}
}

最后,JRuby 1.4 修复了自 1.3.1 以来的 301 个 Bug。每次大版本的发布,JRuby 团队都会给我们带来不少惊喜,如果希望了解更多 1.4 后续版本的计划内容,可以访问 Engine Yard 的博客


作者介绍:丁雪丰,网名DigitalSonic,满江红开放技术研究组织核心成员, Spring Framework 2.0 & 2.5 文档翻译项目负责人,也参与了 Hibernate、Seam 等多份文档的翻译及校对工作。平时积极投身开源项目,是著名SFTP/SCP 软件WinSCP 的简体中文汉化者。参与翻译及编著的书籍有《Spring 攻略》《JRuby 实战》等。InfoQ 中文站内容团队,尤其是架构、SOA 和Ruby 社区需要您的参与,有意者请邮件至 editors【AT】cn.infoq.com

2009-11-08 03:221030
用户头像

发布了 135 篇内容, 共 56.7 次阅读, 收获喜欢 43 次。

关注

评论

发布
暂无评论

听说学Python字体反爬的人,都打开过这篇博客,自如字体反爬,图片字体反爬

梦想橡皮擦

Python 爬虫 7月月更

消息队列存储消息数据的MySQL表设计

intelamd

openim支持十万超级大群

Geek_1ef48b

使用 Solidity 和 Node.js 构建简单的区块链预言机

devpoint

区块链 Node 预言机 7月月更

深入浅出边缘云 | 3. 资源配置

俞凡

架构 边缘计算 网络 深入浅出边缘云

Snowflake vs. Redshift的2022战报:两个数据平台谁更适合你?

雨果

SpringBoot日志收集-Aop方式-存进数据库

宁在春

aop springboot 7月月更

设备树的引入与体验

贾献华

7月月更

一文详解:SRv6 Policy模型、算路及引流

穿过生命散发芬芳

7月月更 SRv6

leetcode 406. Queue Reconstruction by Height 根据身高重建队列(中等)

okokabcd

LeetCode 数据结构与算法 贪心算法

类似 MS Project 的项目管理工具有哪些

PingCode

透过开发抽奖小程序,体会创新与迭代

小院里的霍大侠

创业 前端开发 创新 淘宝小程序 签约计划第三季

设计消息队列存储消息数据的 MySQL 表格

爱晒太阳的大白

走进Redis,让你重新认识redis。绝不是表面

派大星

签约计划第三季

Java避坑指南:涉及金钱计算时使用BigDecimal如何避坑

Beaver

数据质量提升

奔向架构师

数据质量 7月月更

vue2升级vue3: TSX Vue 3 Composition API Refs

zhoulujun

Vue3 Ref JSX tsx 子组件

编写Prometheus HTTP 服务发现有什么要求

耳东@Erdong

Prometheus 服务注册与发现 7月月更

Python中关于函数的那点事

Java学术趴

7月月更

JAVA编程规范之服务器

源字节1号

软件开发 后端开发

(WebFlux)001、如何自定义注解实现功能

编号94530

spring springmvc WebFlux 拦截器 @WebFilter

3 分钟掌握 Node.js 版本的区别

pingan8787

JavaScript node.js Vue 前端开发

Spark 在 Yarn 上运行 Spark 应用程序

xiaosi

spark YARN

好的plm软件有哪些?plm软件排行榜

PingCode

小心你的字典和样板代码

白日梦想家

总结 编码 反思 编程、 编码风格

模块八

Geek_2ce415

数据中台建设(六):数据体系建设

Lansonli

数据中台 7月月更

大家都在用的plm项目管理软件有哪些

PingCode

项目管理

jQuery 遍历-后代深入解析分析【前端jQuery框架】

恒山其若陋兮

7月月更

JRuby 1.4正式发布,修正大量Bug_Java_丁雪丰_InfoQ精选文章