QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:40580
用户头像

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

关注

评论

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

TiDB 4.0 试玩体验--Tiflash

TiDB 社区干货传送门

实践案例

事务前沿研究丨事务并发控制

TiDB 社区干货传送门

TiDB 底层架构

TiDB备份实现

TiDB 社区干货传送门

管理与运维

浅谈 TiDB 初始化系统库过程

TiDB 社区干货传送门

性能调优 TiDB 底层架构

tikv下线Pending Offline卡住排查思路

TiDB 社区干货传送门

故障排查/诊断

TiDB 性能优化实践

TiDB 社区干货传送门

性能调优 性能测评

TiDB 5.0 VS MySQL 8.0 性能对比测试

TiDB 社区干货传送门

版本测评

PD 三类选主流程梳理

TiDB 社区干货传送门

TiDB 底层架构

TiKV 多副本丢失的故障修复演练

TiDB 社区干货传送门

故障排查/诊断

使用Zabbix监控TiDB(二)

TiDB 社区干货传送门

监控

【喜大普奔】zabbix 能监控 tidb 集群了 && tidb 能存储 zabbix 监控数据了

TiDB 社区干货传送门

监控

TiKV 多副本丢失以及修复实践

TiDB 社区干货传送门

实践案例

陆金所金融核心场景数据库的去 O 之路

TiDB 社区干货传送门

实践案例

TiDB 在 OPPO 准实时数据仓库中的实践

TiDB 社区干货传送门

实践案例

悲观事务死锁检测

TiDB 社区干货传送门

TiDB 底层架构

TiDB 5.0 在TPCH和SSB基准测试下OLAP方面的能力表现

TiDB 社区干货传送门

版本测评

如何理解TiDB允许广义上的幻读

TiDB 社区干货传送门

TiDB 底层架构

TiDB使用场景漫谈

TiDB 社区干货传送门

实践案例

【案例】汽车之家 - 一次业务优化解决读写冲突的案例,提升 5 倍性能

TiDB 社区干货传送门

性能调优

Prometheus 中 histogram_quantile 函数相关的若干问题

TiDB 社区干货传送门

监控

TiDB大规模节点下线实践

TiDB 社区干货传送门

性能调优

分布式系统 in 2010s

TiDB 社区干货传送门

实践案例

数字化转型背后的 TiDB(地产行业)

TiDB 社区干货传送门

实践案例

数据库架构升级选型 - TiDB

TiDB 社区干货传送门

数据库架构选型

血泪教训 TiKV多副本丢失unsafe-recover恢复记录

TiDB 社区干货传送门

故障排查/诊断

这么多TiDB负载均衡方案总有一款适合你

TiDB 社区干货传送门

实践案例 管理与运维

TiUP cluster 用到的三个账户

TiDB 社区干货传送门

安装 & 部署

TiDB 5.0 部分新特性试用

TiDB 社区干货传送门

版本测评 新版本/特性发布 性能测评

网易游戏 Flink on TiDB 实时数据业务实践

TiDB 社区干货传送门

实践案例

TiDB 海量 region 集群调优实践

TiDB 社区干货传送门

性能调优 管理与运维

TiDB集群之中控不可用,怎么办?

TiDB 社区干货传送门

管理与运维 故障排查/诊断

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