写点什么

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:254447

评论

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

移动设备控制LED屏:无线技术与智能操作

Dylan

技术 电脑 设备 LED LED显示屏

Amazon Q:对话智能赋能企业发展

亚马逊云科技 (Amazon Web Services)

#人工智能

构建多功能DApp项目:质押、私募、DeFi、分红等功能详解

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

手把手带你申请Sora内测资格,附申请提示词

蓉蓉

openai ChatGPT4 sora

一座计算“立交桥”,让新质生产力从湘江水畔到中国大地

脑极体

算力

鸿蒙原生应用《隐私协议静态共享库》

坚果

HarmonyOS HarmonyOS框架

Ceph入门到精通-sysctl参数优化

百度搜索:蓝易云

云计算 Linux 运维 Ceph 云服务器

laragon为php安装Xdebug扩展

百度搜索:蓝易云

php Linux 运维 云服务器 Laragon

Anolis OS 23.1 Alpha2 预览版:内核配置升级与软件选型新进展

OpenAnolis小助手

开源 操作系统 龙蜥操作系统

放心使用!龙蜥全系产品均不受 XZ 后门影响

OpenAnolis小助手

操作系统 漏洞 龙蜥社区 龙蜥操作系统

Spring高手之路17——动态代理的艺术与实践

砖业洋__

spring aop JDK动态代理 CGLIB动态代理

Linux中7种文件类型

百度搜索:蓝易云

云计算 Linux 运维 云服务器 ECS

企业架构设计原则之业务导向性

凌晞

企业架构 架构设计 架构设计原则

龙蜥社区及开发者分获 2024 OS2ATC“最具影响力开源创新贡献和开源创新先锋”奖

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区

Cloud Kernel SIG 月度动态:ANCK 全面首次支持龙芯架构、海光四号处理器,以及适配兆芯等最新进展

OpenAnolis小助手

操作系统 内核 龙蜥社区 龙蜥sig

浪潮信息-龙蜥技术认证上线!实战培训 10 个名额,限量报名

OpenAnolis小助手

开源 操作系统 龙蜥社区

鸿蒙原生应用三方库《日历转换器》

坚果

HarmonyOS 坚果派 HarmonyOS框架

iftop工具详解网络流量监控利器

百度搜索:蓝易云

云计算 Linux 运维 云服务器 iftop

酷睿Ultra下一代预览,Lunar Lake有惊人的100TOPS

E科讯

支付系统概述(六):收银台

agnostic

支付系统设计与实现

@开发者,龙蜥社区邀您参加 2024 OceanBase 开发者大会

OpenAnolis小助手

开源 操作系统 OceanBase 开源 开发者大会

探索社交App商机:视频直播App、语聊陪玩、1v1约会App必不可少

山东布谷科技胡月

短视频直播系统 1v1交友app开发 语聊平台 海外社交APP 短剧app开发

构建区块链质押挖矿系统:DApp质押挖矿系统开发需求详解

区块链软件开发推广运营

dapp开发 区块链开发 NFT开发 公链开发

java解析xml的几种方式

百度搜索:蓝易云

Java xml 云计算 Linux 运维

企业架构设计原则之避免单行道

凌晞

企业架构 架构设计 架构设计原则

查看自动类型推导结果的方法

爱分享

编辑器 代码规范 C++11 C++ modern C++

个人介绍-第一篇博文

Geek_e575df

深入剖析JVM的OOM | 内存溢出如何影响JVM运行及应对策略

洛神灬殇

Java 性能优化 JVM 内存优化

高性能网络SIG月度动态:virtio 动态中断调节优化、多项内核网络缺陷修复

OpenAnolis小助手

操作系统 高性能网络 龙蜥社区SIG

对某个通用字段进行加解密或者是脱敏处理

想要飞的猪

数据脱敏 字段加密

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