91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JRuby是什么

發布時間:2021-12-24 16:08:19 來源:億速云 閱讀:206 作者:iii 欄目:編程語言

這篇文章主要講解了“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是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

历史| 巍山| 青岛市| 宁明县| 洱源县| 封开县| 南通市| 喀喇| 隆子县| 兴国县| 贡嘎县| 龙海市| 清水河县| 黑水县| 青浦区| 临湘市| 甘孜| 鹤岗市| 东兰县| 若尔盖县| 罗甸县| 永年县| 西盟| 西乌| 永寿县| 水富县| 桃源县| 永修县| 沈阳市| 比如县| 资溪县| 手游| 吐鲁番市| 仁寿县| 英山县| 平陆县| 外汇| 南靖县| 迭部县| 安溪县| 瓮安县|