一、从Java SE5和Java SE6版本都主要以性能为目标。
(1)Java SE6的性能增强措施包括:同步性能优化、编译器性能优化、新的并行压缩垃圾收集器(加快垃圾回收效率,减少内存碎片)、并发低停顿垃圾收集器(可以减少垃圾回收时候的应用停顿时间),以及应用程序的启动性能。
(2)Java SE6的从1.6.0_18到1.6.0_24的小补丁都针对垃圾回收做了提升或缺陷修复。
(3)Java虚拟机支持编译为机器码执行。有个参数CompileThreshold,该参数表示当方法被调用多少次以后,就编译为机器码。在client模式下默认为1500次,在server模式下为10000次。可以设置。
(4)另外,目前Java SE提供了一套高并发数据结构,对于构建高并发高效率的应用很有帮助,java程序和C程序的运行效率,取决于编程水平了。
二、Java SE 5 和 Java SE 6 Update 2在同等环境下的性能指标(http://www.oracle.com/technetwork/java/6-performance-137236.html):
1、SPECjbb2005™ 性能测试:JDK6比JDK5快75%
2、IO性能:JDK6比JDK5快100%
3、VolanoMark™ 2.5性能测试:JDK6比JDK5快45%
4、启动效率:JDK6比JDK5快15%
5、虚拟机的核心内存占用量大小测试:JDK6比JDK5少10%
备注:
SPECjbb2000 是标准性能评估机构(Standard Performance Evaluation Corporation,SPEC)提供的一款基准测试工具。引用的性能建立在 Sun 内部软件测试基础之上。
VolanoMark™ 版本 2.5 是 Volano LLC ( http://www.volano.com/ ) 提供的一款纯java基准测试工具。用来测量原始服务器性能和服务器网络可伸缩性性能。