本报道出自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)
在本次发布中没有涉及安全相关的更新,但下一次与安全相关的更新有望在本季度发布。