成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面解析JRuby是什么

開發 后端
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是什么,它的發展和功能。

【編輯推薦】

  1. JRuby是什么? JRuby語言概覽
  2. JRuby中調用java帶可變參數的方法
  3. 使用JRuby生成JVM代碼
  4. JRuby入門教程:從無到有建立***個Hello World
  5. 如何在tomcat上配置jruby on rails
責任編輯:佚名 來源: 天涯問答
相關推薦

2009-07-17 17:05:29

JRuby是什么JRuby

2009-10-22 09:29:23

CLR是什么

2025-06-27 07:19:48

2017-04-10 18:34:16

AndroidNotificatio

2011-08-10 09:54:10

JRubyJava 7

2012-04-16 14:55:54

JVMJRuby

2009-07-20 09:22:36

用jruby調用jfr

2011-12-05 12:42:31

JavaJ2EEJVM

2024-08-29 08:28:17

2010-07-22 09:25:09

telnet命令

2010-03-09 17:19:01

Linux時鐘

2010-06-24 15:35:04

IPx協議

2009-07-17 17:11:47

Ruby生成JVM代碼

2010-01-06 17:12:57

Linux主要構成

2009-07-06 09:17:51

2010-06-28 18:52:49

UML關系符號

2021-11-23 09:09:27

Applicationandroid系統開發

2021-11-19 17:26:11

AppApplication方法

2009-10-19 15:07:17

Visual Basi

2011-04-12 15:00:48

Oracle碎片
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人综合一区二区三区 | 九九热精品在线 | 亚洲欧美中文日韩在线v日本 | 日本在线免费视频 | 欧美 日韩 视频 | 精产国产伦理一二三区 | 色噜噜亚洲男人的天堂 | 99爱免费| 色资源在线视频 | 亚洲国产精品久久久 | 国产视频一视频二 | 亚洲二区精品 | 国产在线精品免费 | 一级在线观看 | 成人黄页在线观看 | 成人自拍av| 99亚洲精品 | 欧美一级二级在线观看 | 男人的天堂久久 | com.国产| 久久久无码精品亚洲日韩按摩 | 国产精品久久久久久亚洲调教 | 色视频网站免费 | 亚洲视频手机在线 | 久久一区视频 | 精品成人| 黄网在线观看 | 天天射网站 | 亚洲综合字幕 | 亚洲精品亚洲人成人网 | 国产精品美女久久久久aⅴ国产馆 | 精品国产一区二区在线 | 99re热精品视频国产免费 | 欧美亚洲国产一区 | 日韩中文字幕免费在线 | 四虎最新地址 | 欧美日韩精品久久久免费观看 | 亚洲久久| 中文字幕国产一区 | 亚洲精品2区 | www.日韩系列 |