写点什么

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

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

关注

评论

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

美团四面:如何保障 MySQL 和 Redis 的数据一致性?

Java永远的神

Java MySQL 数据库 redis 后端

用友降运维成本实践:OceanBase替换MySQL,实现高可用

OceanBase 数据库

数据库 oceanbase

前端培训学习后程序员的就业前景怎么样?

小谷哥

已帮助数万程序员找到工作的阿里巴巴面试参考指南到底有什么魅力?

Java全栈架构师

程序员 程序人生 后端 java面试 八股文

云边协同下的统一应用管理: 基于 OpenYurt 和 KubeVela 的解决方案

阿里巴巴云原生

阿里云 开源 云原生 KubeVela openyurt

阿里国际站-唤端技术的探索与演进

阿里技术

前端 用户增长

模块一 实战营作业

peter

「架构实战营」

【DBA100人】网联客CEO隋海峰:把握好职业生涯最重要的两个5年

OceanBase 数据库

数据库 oceanbase

容量测试解决了什么问题?

老张

性能测试 容量测试 容量保障

Redis缓存雪崩、击穿、穿透、双写一致性、并发竞争、热点key重建优化、BigKey的优化 等解决方案

C++后台开发

redis 中间件 后端开发 C++开发 redis缓存

大数据培训出来后就业好吗?

小谷哥

AngularJS进阶(三十二)书海拾贝之特殊的ng-src和ng-href

No Silver Bullet

AngularJS 12月月更 启动过程

南京哪个java培训机构好?

小谷哥

鹅厂28K程序员,不会微服务,一周就被优化了?

小小怪下士

Java 程序员 面试 微服务

IT机构哪家Java培训比较好

小谷哥

揭秘倚天实例背后的硬核实力

阿里技术

云计算 云原生

大幅优化《英雄联盟》游戏体验,英特尔显卡驱动更新

科技之家

免费试用的云管平台哪里有?可以试用多久?

行云管家

云计算 云管平台 云管理 自动化运维

chatGPT辣么火,你却不会注册!

程序员小毕

Java 程序员 程序员人生 后端 摸鱼

软硬协同:基于倚天的视频云编码性能升级

阿里云CloudImagine

云计算 视频云

读书破万“卷”,《软件研发效能度量规范》的先进认知与开源实现

思码逸研发效能

研发效能 效能度量

极客时间运维进阶训练营第七周作业

好吃不贵

Linux平台用什么HA软件好?咨询电话多少?

行云管家

高可用 HA软件

百度爱番番基于图技术、流式计算的实时CDP建设实践

NebulaGraph

数据库 flink 流计算 图数据库

AngularJS进阶(三十三)书海拾贝之简介AngularJS中使用factory和service的方法

No Silver Bullet

service AngularJS 12月月更 factory

AngularJS进阶(三十四)Angular数据更新不及时问题探讨

No Silver Bullet

angular 数据更新 12月月更

PCB制造常用的13种测试方法,你掌握了几种?

华秋PCB

测试 PCB PCB设计

泰山众筹NFT版系统开发合约部署

薇電13242772558

智能合约

KCL v0.4.4 发布!自定义 YAML Manifests 输出以及 Python SDK!

Peefy

编程语言 Configuration Kubernetes Serverless #DevOps

大数据培训前景怎样

小谷哥

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