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

JRuby和Java 7 我們可以期待什么

原創(chuàng)
開發(fā) 后端 新聞
Java 7已經(jīng)發(fā)布,很多人感覺改進不大,有甚者還說暫時不要碰Java 7。那么對于在Java 7上運行的JRuby,我們能夠期待些什么呢?

【51CTO外電頭條】Java 7已經(jīng)粉墨登場了,這次帶來的新功能感覺有些普普通通,當(dāng)然還是有幾個重要改進。那么對于在Java 7上運行的JRuby,我們能夠期待些什么呢?

Java 7改變了什么?

Java 7中***的改變和Java語言本身并沒有什么關(guān)系。當(dāng)然,Java 7中的“project coin”提高了Java語言的異常處理能力,還有新的數(shù)字、數(shù)組、哈希常量、開發(fā)者們經(jīng)常要求的“字符串開關(guān)(strings in switch)”支持,還有一些別的東西等等。但這些都是些綜合性的功能提高,真正的革新出現(xiàn)在JVM和JDK級別。

新的字節(jié)碼Invokedynamic

Java 7中最重要的變化是加入了一種新的字節(jié)碼——invokedynamic——還有一個API,用來建立“方法句柄(method handle)”序列來支持這個字節(jié)碼。

你可以把invokedynamic看做JVM用戶與后臺的JVM進行直接溝通的途徑。方法句柄可以同時作為函數(shù)的pointer和combinator,允許用內(nèi)置的方式建立一個從調(diào)用器到被調(diào)用者的調(diào)用協(xié)議。通過invokedynamic,你可以移除參數(shù)、插入新的參數(shù)、處理現(xiàn)有參數(shù)以及返回值,還可以用來捕獲異常。Invokedynamic字節(jié)碼本身提供了一個字節(jié)碼級別的鉤子,你可以把方法句柄序列附加在上面,這樣在道理上JVM就可以直接進入invokedynamic的調(diào)用器對序列進行優(yōu)化。

通過invokedynamic,讓JVM能夠直接穿透復(fù)雜的方法調(diào)用邏輯的原因是tl;dr,其他動態(tài)語言也經(jīng)常這樣做,還可以把邏輯優(yōu)化為就像通常的靜態(tài)調(diào)用。

JRuby的master branch已經(jīng)大量利用到invokedynamic的好處了,通過invokedynamic操作引導(dǎo)大多數(shù)的Ruby函數(shù)調(diào)用。對于簡單路徑和那些通過Hotspot(OpenJDK的核心VM)優(yōu)化的函數(shù),invokedynamic通常能夠提供150%到200%的性能提升,編寫函數(shù)的工作也變得更快更方便。對于其他一些沒有經(jīng)過OpenJDK 7 “dot zero”版本優(yōu)化的路徑,invokedynamic的表現(xiàn)沒有那么好,因此在這里還有提升的空間。

因為JRuby早已開始使用invokedynamic,所以你現(xiàn)在就可以試試它了:

1. 從master開始建立自己的JRuby

2. 從Oracle下載OpenJDK 7。

3. 在新的JDK中指向JAVA_HOME,開始試用JRuby。

NIO.2

NIO指的是Java的“New IO”API,這里包裹著一套低級別的文件說明符邏輯和內(nèi)存緩沖。NIO在Java 1.4中就出現(xiàn)了,但最近升級為NIO.2,帶來了一些迫切需要的功能:

文件系統(tǒng)操作(比如symlink和permission等等)現(xiàn)在幾乎都可以通過NIO.2的文件系統(tǒng)API來完成。同時還包含了對文件系統(tǒng)事件的標(biāo)準(zhǔn)的跨平臺支持,比如觀察目錄變化(有效使用OS級別操作而非輪詢)等等事件操作。

文件和目錄的walk操作占用的系統(tǒng)開銷得到了大量降低,用于過濾目錄時也有了更多的選項。

大多數(shù)的IO通道類型現(xiàn)在都擁有了異步版本。在這里,異步的意義在于“把IO操作放到內(nèi)置的線程池”,通過代碼檢查操作狀態(tài),獲得“未來”句柄結(jié)果。

對于JRuby來說,新的IO API意味著我們可以支持更多的跨平臺文件系統(tǒng)操作,而不用生成原始碼。同時它還能夠提供給JRuby用戶處理文件系統(tǒng)事件和異步IO操作功能,而不需要使用專用的平臺庫。JRuby的核心類目前還沒有開始添加NIO.2支持,但很快就會開始。

綜合改進

在OpenJDK中還有很多小改進,它們不那么顯眼,但對JRuby也很有幫助。

即使沒有invokedynamic,***的OpenJDK 7也比OpenJDK 6要強上不少。一些評測已經(jīng)證實大概速度能夠快上兩倍,我們只需要升級JVM即可。OpenJDK 7的綜合改進看上去普普通通,但幾乎在我們測試到的每一個方面,結(jié)果都很令人滿意。

OpenJDK 7的發(fā)布也帶來了“階梯式(tiered)”編譯模式的進步。階梯式編譯模式的目標(biāo)是把“client”模式(帶來最快的初始化速度)和“server”模式(帶來***的峰值性能)加以合并,你可以使用-XX:+TieredCompilation來開啟階梯編譯。

這些綜合改進意味著即使是JRuby 1.6.x這些版本的用戶都能夠開始使用OpenJDK 7***帶來的種種好處了,在JRuby 1.7中,這些改進的效果顯然會更加明顯。

兼容性

和從前其他版本的Java發(fā)行時一樣,人們都會做出大量的小心翼翼的工作來確保現(xiàn)有的應(yīng)用能夠正常運行。Java 7也沒什么不同。我們已經(jīng)一遍遍的測試Java 7一年多了,在兼容性方面一直表現(xiàn)穩(wěn)定,即使是最近大量使用invokedynamic的情況下。

在JRuby中,我們沒有針對Java 7做出什么主要的改動,目前看來不會出現(xiàn)什么兼容性問題。

原文標(biāo)題:JRuby and Java 7: What to Expect

【編輯推薦】

  1. Java 7正式發(fā)布
  2. GlassFish游來新版本
  3. NetBeans新版發(fā)布,全面支持JDK 7
  4. 11款用于優(yōu)化、分析源代碼的Java工具
責(zé)任編輯:彭凡 來源: 51CTO
相關(guān)推薦

2011-08-18 09:46:01

開發(fā)技術(shù)周刊

2019-02-20 14:11:09

物聯(lián)網(wǎng)IOT技術(shù)

2022-06-27 16:55:30

5G6G

2019-10-24 10:43:08

物聯(lián)網(wǎng)軟件測試IOT

2019-12-24 19:14:52

物聯(lián)網(wǎng)IOT技術(shù)

2020-03-18 08:59:42

物聯(lián)網(wǎng)智慧城市邊緣計算

2015-06-01 15:25:29

2015-03-02 14:10:59

WMC

2009-07-17 17:05:29

JRuby是什么JRuby

2022-04-02 10:19:14

物聯(lián)網(wǎng)人工智能物聯(lián)網(wǎng)安全

2018-09-30 11:42:45

5G 高通移動

2009-07-17 17:02:54

JRuby是什么

2020-12-28 18:00:32

自動化人工智能AI

2009-12-07 17:42:07

Windows Mob

2010-08-02 13:30:34

移動開發(fā)移動開發(fā)平臺

2019-02-18 15:29:08

TensorFlow開源機器學(xué)習(xí)

2012-06-25 10:53:32

Google IO大會

2009-07-17 17:49:39

JRuby學(xué)習(xí)

2025-04-11 08:30:00

Java線程開發(fā)

2009-04-10 09:10:07

Windows 7微軟操作系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91观看| 日本不卡一区二区三区 | 亚洲精品视频一区二区三区 | 色视频免费| 国产精品福利网站 | 国产精品久久免费观看 | 一区日韩 | 99久久精品免费看国产免费软件 | 国产精品九九视频 | 精品国产三级 | 国产一级视频在线 | 日韩一区二区三区av | 在线观看国产wwwa级羞羞视频 | av中文字幕在线 | 中国毛片免费 | 全免费a级毛片免费看视频免费下 | 精品国产18久久久久久二百 | 国产一区二区影院 | 九九精品久久久 | 亚洲 精品 综合 精品 自拍 | av大全在线 | 91精品国产综合久久福利软件 | 日韩欧美手机在线 | 日韩精品中文字幕一区二区三区 | 性生活毛片 | 超碰91在线 | 国产精品国产a级 | 欧美国产视频 | 久久精品99 | 国产成人精品一区二区在线 | 国产精品久久久久久久免费大片 | 久久a久久 | 亚洲 欧美 另类 综合 偷拍 | 日本一卡精品视频免费 | 亚洲精品乱码久久久久久黑人 | 精品一区二区在线观看 | 作爱视频免费看 | 中文字幕亚洲视频 | www.av7788.com| www.久久久久久久久久久 | 国产一二三区精品视频 |