您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java 7有哪些新功能以及與Java1.7性能有什么不同”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java 7有哪些新功能以及與Java1.7性能有什么不同”吧!
我們將進行Java 7新功能和Java1.7性能測試比較,一般來說Java 7新功能主要是對更多類的支持以及加載的架構。而Java 7與Java 1.5,1.6,1.7的性能測試比較,我們會得出結論,并將結果生成柱狀圖。
Java 1.4到1.5的修改很大,在編譯compile-time 方面提升很大,Java 6在運行時runtime智能上做了優化,Java 7的主要改進:模塊化。我們分析一下Java 7新功能的主要修改:
◆Modularization 模塊化– JSR 294 或者 Project Jigsaw
◆JVM 對動態語言的支持
◆更多新的 I/O APIs 即將完成,包括真正的異步I/O 和最終的真實的文件系統 file system API – JSR 203
◆對XML本地語言支持. (可能的probable)
◆Safe rethrow – 允許catch捕獲語句讓編譯器更加聰明的知道基于什么情況下重新throw什么內容。
◆Null dereference expressions – Null 和 ‘?’ syntax 比較,語法類似 Groovy… 讓開發者避免過多的空值驗證。
◆更好的類型推斷 Better type inference
◆多重捕獲Multi-catch
◆JSR 296 – Swing 應用框架 application framework – 這方面需要更簡單和簡潔。
“小的”sun方面的修改有:
◆升級的類加載class loader 架構;
◆XRender pipeline for Java 2D:是Open JDK ntegrators Challenge project項目;
◆Swing 更新 – JXLayer, DatePicker, CSS styling 等;
◆JavaFX
sun方面“快速”的修改,主要是性能更新:
◆并發方面的細微調整 concurrencytweaks (JSR 166),更好的支持Multicore
◆G1 垃圾收集器Garbage collector - 帶來更小的中斷時間,有希望替代 CMS (Concurrent mark sweep) GC
◆64 bit VM的壓縮指針Compressed pointer
◆MVM-lite – 多個虛擬機能夠獨立運行應用和允許用kill -9殺死java應用。
我測試了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)
測試環境:Dell D630 筆記本運行 Windows 7 RTM (32 bit) , Intel Core 2 CPU (2.4GHz),3GB RAM.
測試數據:
Test 1. 添加5百萬string 數值。
Test 2. 5百萬 ArrayList
Test 3. 5百萬鍵值的HashMap
Test 4. 打印5百萬 ArrayList
四次測試結果如下:
結論是:
Java 5 <=== 18% faster=== < Java 6 < ===46% faster===< Java 7
感謝各位的閱讀,以上就是“Java 7有哪些新功能以及與Java1.7性能有什么不同”的內容了,經過本文的學習后,相信大家對Java 7有哪些新功能以及與Java1.7性能有什么不同這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。