在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

JRuby 1.4 RC1 发布:增加了 Windows 安装包、1.8.7 支持及新的嵌入式 API

  • 2009-10-18
  • 本文字数:899 字

    阅读完需:约 3 分钟

JRuby 1.4 RC1 发布了(点击此处查看JRuby 1.4 RC1 的所有版本)。

JRuby 1.4 RC1 进行了大量的改进,如对Ruby 1.8.7 的支持及新的Java 集成支持(此前InfoQ 曾进行过报道)

Windows 用户可能会对新的 JRuby 安装包情有独钟,该安装包是个.exe 文件,可从 JRuby 1.4 下载点下载

对于那些想在应用中嵌入 JRuby 进行脚本编程或是想从 Java 代码中调用 JRuby 的开发者来说有个好消息,现在可以使用“Red Bridge”或是 org.jruby.embed 了,这是一个新的嵌入式 API,将在 JRuby 的未来版本中替换掉 JavaEmbedUtils。

Red Bridge 的创建者 Yoko Harada 解释到

在 JRuby 1.4 RC1 发布后,用户可能会被 JRuby 的 JavaEmbedUtils 和 Red Bridge 搞晕了,到底应该用哪个呢?毫无疑问,新用户应该首选 Red Bridge,因为其使用简单且功能强大。现在我们正在商讨如何废弃 JavaEmbedUtils 以及与嵌入式相关的其他接口。很多包(包括 JRuby Rack)都使用到了 JavaEmbedUtils 以及其他嵌入式 API,因此这是一个牵一发而动全身的事情,需要谨慎行事。

Red Bridge 和其他嵌入式 API 修复了一些问题,像是如何跨越对 JRuby 的不同调用查看调用变量等。新的 org.jruby.embed.ScriptingContainer 文档中写到:

第三个示例介绍了如何在多个赋值语句之间保持局部变量。该特性模拟了 JRuby 的 BSF 引擎。在 Ruby 语义下,一旦赋值结束,局部变量就失效了。因此,该特性是可选的,同时在容器实例化时用户需要指定 LocalVariableBehvior.PERSISTEN。

示例代码:

复制代码
ScriptingContainer container = new ScriptingContainer(LocalVariableBehavior.PERSISTENT);
container.runScriptlet("p = 42");
container.runScriptlet("puts #{p}");

如果没有指定 LocalVariableBehavior.PERSISTENT,那么在第二次调用 container.runScriptlet 时变量 p 就失效了,因此需要将其声明为全局变量而非局部变量。

我们希望大家都来试用 JRuby 1.4 RC1,有问题请及时报告。

最后,对 JRuby 感兴趣的用户可以阅读 R.J. Lorimer 关于 JRuby 内核的系列文章,最新的文章深入分析了 JRuby JIT。

查看英文原文: JRuby 1.4RC1 Released, Adds Windows Installer, 1.8.7 Support, New Embedding API

2009-10-18 21:40689
用户头像

发布了 88 篇内容, 共 274.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

NineData中标!移动云数据库传输项目(2023)

NineData

移动云 玖章算术 NineData 中标 数据库传输

2024CITE中国电子信息博览会(电博会)

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

龙蜥白皮书精选:云原生混部资源隔离技术

OpenAnolis小助手

开源 云原生 白皮书 内核 龙蜥社区

GC面临的困境,JVM是如何解决跨代引用的?

Java随想录

Java JVM

昨晚做梦面试官问我三色标记算法

Java随想录

Java JVM

带你读论文丨S&P2019 HOLMES Real-time APT Detection

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

“产业应用创新奖2023”启动征集

飞桨PaddlePaddle

人工智能 百度飞桨 文心大模型

使用秘籍|如何实现图数据库 NebulaGraph 的高效建模、快速导入、性能优化

NebulaGraph

图数据库 NebulaGraph

字节跳动基于DataLeap的DataOps实践

字节跳动数据平台

大数据 数据中台 数据研发 企业号 8 月 PK 榜

从头到尾说一次 Spring 事务管理(器) | 京东云技术团队

京东科技开发者

spring spring事务管理 事务管理 企业号 8 月 PK 榜

库存预占架构升级方案设计-交易库存中心 | 京东物流技术团队

京东科技开发者

架构设计 库存系统 架构升级 企业号 8 月 PK 榜

云原生批量计算引擎 Volcano社区v1.8.0版本正式发布

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

数据分析实战│价格预测挑战

TiAmo

数据挖掘 数据分析

轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2

SEAL安全

Seal软件 AI大语言模型 企业号 8 月 PK 榜 Walrus llama-2

ECMAScript 2023新增特性

数新网络官方账号

优化重复冗余代码的8种方式

java易二三

Java 编程 程序员 计算机

途牛科技与火山引擎数智平台合作 打造企业大数据系统“降本”新范式

字节跳动数据平台

大数据 云服务 企业号 8 月 PK 榜 数据支持

一次性搞清楚,Java并发编程在各主流框架中的应用,保证看懂

java易二三

Java spring 程序员 计算机

透彻了解 JavaScript 闭包:使用场景和常见问题解答

Apifox

JavaScript 编程 前端 后端 闭包

全链路压测与普通压测的区别

优测云服务平台

微服务 性能测试 压力测试 全链路追踪 全链路

千万级数据深分页查询SQL性能优化实践 | 京东云技术团队

京东科技开发者

MySQL 性能优化 sql 分页查询 企业号 8 月 PK 榜

小灯塔系列-中小企业数字化转型系列研究——BI测评报告

向量智库

我的心血全在这了,这种方式讲@Async原理,你别再不懂Spring了

java易二三

Java spring 程序员 计算机

当小白遇到FullGC | 京东云技术团队

京东科技开发者

企业号 8 月 PK 榜 Full GC TP99

一文搞懂MySQL 数据库 MongoDB

java易二三

Java MySQL 数据库 程序员 计算机

企业数字化转型,财务规划与分析(FP&A)团队应该如何应对

智达方通

数字化转型 智达方通EPM 财务规划与分析

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v7.0版已发布

JackJiang

网络编程 即时通讯 即时通讯IM

JRuby 1.4 RC1发布:增加了Windows安装包、1.8.7支持及新的嵌入式 API_Java_Werner Schuster_InfoQ精选文章