Java 6 u18更新細節 Hotspot性能大增
本報道出自InfoQ中文站,原標題為《Sun發布的Java 6第18次更新大大提升了性能并增加了對Window7的支持》。
Sun發布了Java 6的第18次更新,這次更新著重強調了性能的改進,包括Hotspot(16.0)新版,對UI應用程序的啟動和運行時的改進。該發布還包括了對Ubuntu 8.04,Red Hat企業版Linux 5.3和Windows 7的支持,此外她還解決了357個bug。
企業開發者們特別感興趣的改進當然是Java 7中提出的垃圾回收站的改進。Garbage First(G1)垃圾回收站提升了可靠性和性能,而且,并行掃描垃圾回收站(Parallel Scavenger garbage collector)還包含了對改進的NUMA體系結構的支持。大多數現代計算機都是基于NUMA體系結構的,這該體系結構中,訪問不同區域的內存所需的時間是不同的。Java HotSport虛擬機實現了NUMA感知的內存分配器,由它為Java應用提供自動的內存分配優化。比如,每個系統中的處理器都有一個訪問低延遲高帶寬的本地內存和存取很慢的遠程內存。NUMA感知的分配器是為Solaris (>= 9u2)和Linux(kernel >= 2.6.19, glibc >= 2.6.1) 操作系統而實現的,并且可以通過 -XX:+UseNUMA標記打開或關閉并行掃描垃圾回收站。服務器的并行掃描器(Parallel Scavenger)默認使用其缺省值,也可通過指定 -XX:+UseParallelGC選項的值打開它。此改動所產生的影響非常大:當在8芯片Opteron機器上的使用SPEC JBB 2005基準進行評估時,NUMA感知的操作系統能夠帶來30%(32位操作系統)到40%(64位操作系統)的性能提高。
在此次更行中的其他的Hotspot變更包括代碼生成的改進,如優化了通用字符串合并模式和刪除了不必要的整形基本類型之間轉換,還有其他新增選項,比如在完全垃圾回收之前或之后請求堆內存映射或類歷史圖。遺憾的是,在第14次更新中激活的內存泄漏分析的優化,在這次更行中被關閉了,只能等待將來的某天被再次激活了。
Sun對于桌面和RIA市場的持續關注見證了桌面應用和Java Web Start的性能的大大提升,其中包括:
◆更可觀的垃圾回收改進,其中包括新增的客戶端和服務端Java虛擬機的缺省堆配置。
◆類加載優化讓啟動更快。
◆應用啟動的改進,包括在Direct 3D使用時帶來的100至200毫秒的系統時間的節省。
◆對JavaFX運行時的預驗證的修正支持,它可以加速JavaFX應用程序的預熱啟動,提升空間達15%。
◆為Web Start應用和applet并行下載jar包。
◆更行了Java Web啟動,實現了JSR-56(6.0.18)版并解決了一些關鍵的bug(6888118, 6800992, 6863499)。
#t#本次發布中的其他變更有:
◆創建jar文件的時間降低了20%
◆JavaDB更新到10.5.3版本
◆VisualVM更新到1.2.1
◆StaX的細微更新(面向流的XML處理API)
在本次發布中沒有涉及安全相關的更新,但下一次與安全相關的更新有望在本季度發布。