千家信息网

JRuby是什么

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"JRuby是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JRuby是什么"吧!JRuby是什么?作为一个Java程序员,你不
千家信息网最后更新 2026年11月04日JRuby是什么

这篇文章主要讲解了"JRuby是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JRuby是什么"吧!

JRuby是什么?

作为一个Java程序员,你不要想在产品中使用Ruby直到你能够让它和存在的Java应用程序和类库进行交互,而这些程序和类库之中能够支持Ruby的很多种类的基本功能。那么JRuby是什么呢?JRuby,JVM下的一个开源Ruby解释器,能够在Java里面使用Ruby类库。就像标准的Ruby解释器一样,除开使用Ruby调用本地方法(C代码)或者Java类库以外,Ruby代码都能够在JRuby里面正确执行。

相比较于微软的.NET平台的公共语言运行时,JVM往往只能够支持一种语言。但是事实上,JVM平台不仅仅能够支持Java,而且可以支持Python、JavaScript、Groovy、Scheme,和其他各种语言,这意味着有必要的时候,Ruby代码能够和这些语言很好地进行交互。

JRuby的发展

在明白了JRuby是什么之后,让我们看看JRuby是如何发展的。在2006年7月中旬,JRuby仅仅有一个预览版本(0.9)。但是它迅速发展起来:一个志愿者团队从2005年一月开始总共发布了五个版本。JRuby通过针对标准解释器的不断评估测试逐渐成熟起来,而且现在已经超过90%的测试都是在基本支持Ruby on Rails这个框架。

为了尝试JRuby,保证Java SE 5 是安装好了的而且JAVA_HOME环境变量也是设置好了的。从JRuby的工程页面下载压缩包然后解压。设置JRUBY_HOME环境变量到JRuby安装的根目录。你可以在bin目录里面尝试着用jirb进行交互。大多数场合,你将使用JRuby解释器--创建一个文件将文件名作为一个参数传递到JRuby的bin目录下批处理脚本。

JRuby的功能

知道了什么是JRuby,那它有什么功能呢。除了执行先前的Ruby代码,你仍然可以使用JRuby来构造Java对象,调用Java方法,从一个Java类继承。一个Ruby类能够实现Java接口--有必要的话可以在Java里面静态调用Ruby方法。

为了从Ruby访问Java需要初始化类库,需要以"java"命令开始。接下来用include_class方法指定需要使用的Java类,比如,include_class "javax.jms.Session"。你能够使用include_package导入整个Java包到Ruby模块里面。就像Java导入包的通配符语句一样,尽量避免include_package使用产生的名称冲突是明智的;在JRuby里,如果解释器为了需要的类搜索所有的包也是格外不明智的。尽可能严格地使用include_class。

很多Java标准类的名称和Ruby类的名称相同。为了解决这样的冲突,传递一个代码块到include_class函数,为这个Java类返回一个新名称,而且JRuby将使用这个名称作为Java类的别名。(见Listing4)

Listing 4. Include a Java class with clashing name

require "java"# The next line exposes Java's String as JStringinclude_class("java.lang.String") { |pkg, name| "J" + name }s = JString.new("f")

或者,你可以创建一个包含java类定义的Ruby模块,但是需要在一个隔离的名称空间里面。例如:

Listing 5. Java module importing multiple Java classes

require "java"module JavaLang include_package "java.lang"ends = JavaLang::String.new("a")

感谢各位的阅读,以上就是"JRuby是什么"的内容了,经过本文的学习后,相信大家对JRuby是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

名称 代码 解释器 支持 解释 方法 语言 功能 标准 程序 发展 学习 必要 内容 变量 平台 文件 模块 版本 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 互联网与新科技 万易互联网科技有限公司 互联网与未来科技 互联网金融科技创新 融势互联网科技 互联网科技大会案例 佩信高科技互联网 科技与互联网的利与弊 上海宁丞科技互联网 互联网科技公司有风险吗 米聚互联网科技南京有限公司排面 电子科技大学互联网创业大赛 佛山市拉法互联网科技有限公司 上海创道互联网络科技有限公司 珠海东科互联网科技有限公司 盐城市攀科互联网科技有限公司 互联网的黑科技实验室 互联网科技创业有什么好项目 知域互联网科技有限公司官网 深圳互联网科技公司 互联网的科技创新 长亮科技互联网金融 重庆科技学院互联网 互联网金融中的现代科技 互联网和黑科技的看法 允成互联网科技有限公司融资 青岛易易互联网科技 互联网科技创新创业项目 瑞安市蟠桃会互联网科技有限公司
0