這篇文章主要講解了“Java 7有哪些新功能以及與Java1.7性能有什么不同”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Java 7有哪些新功能以及與Java1.7性能有什么不同”吧!
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、盱眙ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的盱眙網(wǎng)站制作公司
我們將進(jìn)行Java 7新功能和Java1.7性能測(cè)試比較,一般來(lái)說(shuō)Java 7新功能主要是對(duì)更多類(lèi)的支持以及加載的架構(gòu)。而Java 7與Java 1.5,1.6,1.7的性能測(cè)試比較,我們會(huì)得出結(jié)論,并將結(jié)果生成柱狀圖。
Java 1.4到1.5的修改很大,在編譯compile-time 方面提升很大,Java 6在運(yùn)行時(shí)runtime智能上做了優(yōu)化,Java 7的主要改進(jìn):模塊化。我們分析一下Java 7新功能的主要修改:
◆Modularization 模塊化– JSR 294 或者 Project Jigsaw
◆JVM 對(duì)動(dòng)態(tài)語(yǔ)言的支持
◆更多新的 I/O APIs 即將完成,包括真正的異步I/O 和最終的真實(shí)的文件系統(tǒng) file system API – JSR 203
◆對(duì)XML本地語(yǔ)言支持. (可能的probable)
◆Safe rethrow – 允許catch捕獲語(yǔ)句讓編譯器更加聰明的知道基于什么情況下重新throw什么內(nèi)容。
◆Null dereference expressions – Null 和 ‘?’ syntax 比較,語(yǔ)法類(lèi)似 Groovy… 讓開(kāi)發(fā)者避免過(guò)多的空值驗(yàn)證。
◆更好的類(lèi)型推斷 Better type inference
◆多重捕獲Multi-catch
◆JSR 296 – Swing 應(yīng)用框架 application framework – 這方面需要更簡(jiǎn)單和簡(jiǎn)潔。
“小的”sun方面的修改有:
◆升級(jí)的類(lèi)加載class loader 架構(gòu);
◆XRender pipeline for Java 2D:是Open JDK ntegrators Challenge project項(xiàng)目;
◆Swing 更新 – JXLayer, DatePicker, CSS styling 等;
◆JavaFX
sun方面“快速”的修改,主要是性能更新:
◆并發(fā)方面的細(xì)微調(diào)整 concurrencytweaks (JSR 166),更好的支持Multicore
◆G1 垃圾收集器Garbage collector - 帶來(lái)更小的中斷時(shí)間,有希望替代 CMS (Concurrent mark sweep) GC
◆64 bit VM的壓縮指針Compressed pointer
◆MVM-lite – 多個(gè)虛擬機(jī)能夠獨(dú)立運(yùn)行應(yīng)用和允許用kill -9殺死java應(yīng)用。
我測(cè)試了Java 1.5,1.6,1.7的性能
JDK 7版本:
Java代碼
> java -version java version "1.7.0-ea" Java(TM) SE Runtime Environment (build 1.7.0-ea-b66) Java HotSpot(TM) Client VM (build 16.0-b06, mixed mode, sharing) > java -version java version "1.7.0-ea" Java(TM) SE Runtime Environment (build 1.7.0-ea-b66) Java HotSpot(TM) Client VM (build 16.0-b06, mixed mode, sharing)
測(cè)試環(huán)境:Dell D630 筆記本運(yùn)行 Windows 7 RTM (32 bit) , Intel Core 2 CPU (2.4GHz),3GB RAM.
測(cè)試數(shù)據(jù):
Test 1. 添加5百萬(wàn)string 數(shù)值。
Test 2. 5百萬(wàn) ArrayList
Test 3. 5百萬(wàn)鍵值的HashMap
Test 4. 打印5百萬(wàn) ArrayList
四次測(cè)試結(jié)果如下:
結(jié)論是:
Java 5 <=== 18% faster=== < Java 6 < ===46% faster===< Java 7
感謝各位的閱讀,以上就是“Java 7有哪些新功能以及與Java1.7性能有什么不同”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Java 7有哪些新功能以及與Java1.7性能有什么不同這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!