写点什么

Java 7 Update 1 的性能和稳定性

  • 2011-12-15
  • 本文字数:1106 字

    阅读完需:约 4 分钟

Oracle 于 10 月 18 日发布了 Java 7 Update 1 ,给 Java 7 带来了迫切需要增强的稳定性,并且修复了我们以前报道过的HotSpot 编译器的性能优化问题,这个问题偶尔会导致错误结果甚至导致 SIGSEV 崩溃。JDK 6 Update 29 在使用不推荐用于生产服务器的参数 XX:+AggressiveOpts 或者 -XX:+OptimizeStringConcat 时,也存在相同的问题,这在此次更新中也得到了修复。

Java HotSpot 虚拟机性能增强文档中,Oracle 描述了其他一些与性能相关的特性。这份简短的文档只包含一项改进:-XX:+TieredCompilation。

分层编译在早先编译器的混合模式行为上增加了额外的一步。服务器会先对 JVM 分级,然后 Java 7 才会在解释模式下运行代码。然后代码只会在“热”的时候才被编译和优化,并被 HotSpot VM 标记,比如说有较高的执行次数。解释模式无论如何都比运行编译后的代码慢很多。-XX:+TieredCompilation 让虚拟机可以在已经运行编译后代码的同时,收集用于优化的统计信息。

尽管这项改变可能会减少高动态性系统的预热时间,其中节点会不断地与服务器连接,但是它带来的改进并不十分明显,就像桌面或者 applet 程序的启动没那么重要一样。

以下列出的针对 JVM 7 的改进对于 Java 6 都已经生效:

  • _Compressed Oops_ 自 Java 6 Update 14 有效,自 Update 23 成为默认设置(仅 64 位)
  • _Escape Analysis_ 自 Java 6 Update 14 有效,自 Update 23 成为默认设置
  • _ 非统一内存访问垃圾回收(Non Uniform Memory Access Garbage Collection)_ 自 Java 6 Update 2 有效

Compressed Oops 会为 64 位地址的 JVM 节省内存。JVM 将使用更简短的地址来引用与堆起点相关的对象,而不是从操作系统获得 64 位内存地址。由于减少了对象引用的内存使用,大多数程序都会受益于这项特性。

Escape Analysis 会查明新分配内存的对象是否要“脱离”当前方法的作用域。如果不是那样,那么该对象就可能会被分配在方法栈上,甚至同步可能会被移除(锁省略)。Heinz Kabutz 就该项优化的效果有一篇全面的文章

非统一内存访问垃圾回收是一项很有意义的改进,其实已经存在很长一段时间了。在现代内存架构中,有一些内存区比别的内存区的读写操作快。特别是在多核系统中,有些内存是专为个体CPU 保留的。感兴趣的读者可以从 Ulrich Drepper 优秀的文章中更多地了解这些内存区。JVM 将尝试在执行分配内存线程的核所使用的内存中分配对象的内存。该性能改进要求很高(特别是在 Solaris 机器上),但是 -XX:+UseNUMA 选项从来都不是默认的。

随着大部分改进在 Java 6 Updates 上可用(乃至成为默认项),Java 7 由于性能方面的原因依然没有吸引我们升级的亮点。

查看英文原文: State of Performance and Stability in Java 7 Update 1

2011-12-15 01:254638

评论

发布
暂无评论
发现更多内容

ABY3

NOT_FOUND

企业办公新模式,随时随地云上协同!

秃头也爱科技

备战2023春招,P7大佬手打26大后端面试专题神技,1500题解析助力

钟奕礼

Java java程序员 java面试 java编程

2022年Java后端面试题,备战秋招,查缺补漏,吃透16套专题技术栈

小二,上酒上酒

Java 面试 面试题 大厂面试

世界杯来了,让 Towhee 带你多语言「以文搜球」!

Zilliz

华为云会议,让云上办公变得简单高效

科技怪授

华为云会议

7天带你全方位刷爆数据结构与算法,每天一道,高效刷题

小二,上酒上酒

数据结构 面试 算法 大厂面试

跨区域远程沟通协作,大家保险选择华为云会议

科技怪授

糟了,线上服务出现OOM了

小小怪下士

Java 程序员

远程触发Jenkins的Pipeline任务的并发问题处理

程序员欣宸

Java DevOps jenkins 11月月更 pipelien

双十一优惠持续,华为云会议让沟通简单化

i生活i科技

华为云桌面

Java岗史上最全八股文面试真题汇总,堪称2022年面试天花板

小二,上酒上酒

Java 面试 java面试 大厂面试 八股文

企业级运营定时任务分发设计

Quincy

运营 crontab 分布式定时任务

华为云会议,轻松实现远程智能办公

秃头也爱科技

微服务 vs 单体架构

agnostic

微服务架构

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

钟奕礼

Java java程序员 java面试 java编程

阿里内部总结的微服务笔记,从入门到精通小白也能学的会

小二,上酒上酒

Java 架构 分布式 微服务

MobPush Android 快速集成

MobTech袤博科技

华为云会议录制能力再升级,会议成果全收录!

科技怪授

华为云桌面Workspace,随时随地随心的办公新体验

i生活i科技

想你所想,华为云桌面Workspace助你轻松办公

爱尚科技

linux常用服务配置、网络配置 和 基于FTP的上传和下载的几种方式

C++后台开发

Linux linux开发 Linux服务器开发 ftp C++开发

数据结构与算法完整版 | 超详细图解,看这一篇就够了

小二,上酒上酒

Java 数据结构 面试 算法

华为云桌面,助力云上工作,让云上工作更高效!

秃头也爱科技

华为云桌面Workspace,实惠更实用!

科技怪授

华为云桌面

五年数据库专家,带你深入高性能MySQL架构系统,不来后悔一辈子

钟奕礼

Java java程序员 java面试 java编程

华为云桌面Workspace,让你的办公更加舒适惬意

科技怪授

华为云会议

【网络安全】红队攻防之基础免杀

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

Linux 用户和用户组管理

芯动大师

11月月更 Linux系统 用户组

【Python 基础学习】-列表

度假的小鱼

11月月更 python列表

好消息 突破:IM开源项目OpenIM采用wasm技术实现jssdk

Geek_1ef48b

Java 7 Update 1的性能和稳定性_Java_Fabian Lange_InfoQ精选文章