1 2 3 4 5 6 7 8 9 10 下一页 1 简介 Java SE 6(Java Platform Standard Edition 6)的一个主要设计原则就是以性能缺陷为目标,通过当前最流行的一些 Java 基准测试以及与 Java 社区的紧密协作来确定对性能影响最大的增强关键领域,从而提高性能和可伸缩性。 本指南将概述 Java Standard Edition 6 中新增功能和可伸缩性改进,同时提供各种行业标准和内部开发的基准测试结果,以便演示这些性能改进的影响。 2 新增功能和性能增强 Java SE 6 引入了一些新的功能和性能增强,为平台中的许多领域都提供了性能改进。这些改进包括:同步性能优化、编译器性能优化、新的并行缩并垃圾收集器(Parallel Compaction Collector)、工效更高的并发低停顿垃圾收集器(Concurrent Low Pause Collector),以及应用程序的启动性能。 2.1 运行时性能改进 2.1.1 偏向锁 偏向锁(Biased Locking)是一个优化的类,它通过消除与 Java 语言同步原语相关的原子操作改进无竞争同步性能。这些优化依赖于属性,它们不仅是大多数无竞争的监视器,而且在它们的生命期内最多被一个线程锁定。 对象通过监视器输入字节码或同步方法调用,“偏向”于第一个获取监视器的线程;随后与监视器相关的操作可以通过该线程执行而不需使用原子操作,从而获得更好的性能,特别在多处理器机器上,这种性能改进尤为明显。 由多线程而不是单线程对“偏向”对象的锁定尝试,将引起相对较大的操作开销,由此偏向被撤销。消除原子操作的好处必需超过锁定撤销惩罚从而使该优化有利可图。 使用大量无竞争的同步将获得显著的速度提升,而其他使用某些锁定模式的应用程序运行可能缓慢。 偏向锁在 Java SE 6 以及未来版本中将被默认启用。要禁用偏向锁,请向命令行添加 -XX:-UseBiasedLocking。 (责任编辑:admin) |