写点什么

Java 7 Hotspot 循环 Bug 详解

  • 2011-08-04
  • 本文字数:767 字

    阅读完需:约 3 分钟

上周Java 7 GA 发布后,新JIT 默认开启的优化中发现了一个问题。虽然这个问题最早是在 Lucene 搜索索引器的一个用例中出现的,但是它也有可能普遍存在于其他代码之中。

这个 Bug 引来了不少杞人忧天的文章,例如《Don’t use Java 7 for anything》,其中暗示所有循环都有问题。事实上,虽然存在一个有效的Bug(循环可能无法正确执行或者引起SIGSEGV 崩溃),但是这个Bug 从Java 6 开始就有了,如果开启了 -XX:+OptimizeStringConcat-XX:+AggressiveOpts优化就会发生这个问题。

这个问题实际只会发生在特定的循环(循环体可能会修改循环条件)中,该问题的补丁中对此做了说明。在以 -Xint(解释模式)运行的情况下不会发生这个问题,但在-server模式下就会有问题,服务器端应用程序很有可能就会使用这种模式。

如果问题不算太严重,出于此 Bug 带来的公众压力,Java 7 Update 1 中会包含该补丁。由于 Java 7 刚刚发布,目前还不会被用于生产环境,而且它也不是这方面发现的第一个问题(Oracle 在后续版本中修复了这个问题)。与此同时,问题描述中指出可以通过 -XX:-UseLoopPredicate标志来关闭这个特定的优化。

在 Lucene 和 Solr 项目中最早发现该问题的 Uwe Schindler 详细记录了 Bug 背后的故事,包含后续的反应(以及过激反应)。他记录到 Twitter 上大家的反应和后续的文章将 Bug 的优先级提高了,它的补丁将被放在 Java 7 Update 1 中,而不是 Java 7 Update 2。但是,他也说了,尽管高优先级Bug (会导致SIGSEGV)会在Java 7 Update 1 中修复,但是还有两个其他 Bug 仍是中优先级。

正如 Robert Muir 分析中所说的,因为这些优化都是在循环最少10,000 次后才被引入的,所以很多测试都覆盖不到。已经有了补丁,会纳入以后的Java 7 更新中,禁用LoopPredicate 优化也能让Java 7 摆脱这些问题。

查看英文原文: Java7 Hotspot Loop Bug Details

2011-08-04 02:414037
用户头像

发布了 135 篇内容, 共 60.6 次阅读, 收获喜欢 43 次。

关注

评论

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

2024龙蜥大会丨中科方德携手龙蜥,探索下一代操作系统新路线,引领安全新生态

新消费日报

GameFi生存法则:从巨头争霸到小游戏革命,掀起区块链游戏的全新风暴

区块链软件开发推广运营

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

MySQL 是如何实现数据的排序的?

EquatorCoco

MySQL 数据库

Scrutiny for Mac优化网站的 SEO(搜索引擎优化)

Mac相关知识分享

软件下载

一文教你10分钟快速玩转魔乐社区

天翼云开发者社区

人工智能 开发者社区 天翼云

梦中情池!账单自动化#运营通知

开源物联卡管理平台-设备管理

物联网 IoT eSIM安全 java 技术提升

盘点一些靠谱的程序员副业

高端章鱼哥

macOS 播放客户端 Clicker for Netflix 免激活版

理理

智能Chat GPT聊天 Hello Ai Chat for Chat GPT for Mac

理理

专业视频处理增强软件Aiseesoft Mac Video Enhancer for Mac

Mac相关知识分享

强大的专业排版设计软件Affinity Publisher for Mac

Mac相关知识分享

排版设计

Visio文件查看工具 Visio Viewer mac版

理理

DApp生存法则:在区块链革命中占据主导地位

区块链软件开发推广运营

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

office2021下载安装 Microsoft Office LTSC 2021专业增强激活版

理理

010 Editor永久注册码 文本和十六进制编辑器

理理

Rust编码RustRover 2024永久密钥 mac版RustRover 2024下载

理理

小间距LED屏为什么受到喜爱?

Dylan

互联网系统特点 LED LED display LED显示屏 色彩

电科金仓:数智未来,国产数据库大有可为

科技热闻

电商数据整合新篇章:京东商品详情API返回值应用实践

技术冰糖葫芦

api 网关 API Explorer API 策略 pinduoduo API

Mistral 大语言模型

霍格沃兹测试开发学社

跨平台数据库管理软件:Navicat Premium 中文汉化版

理理

整顿职场再出新招?法行宝携手顶级律所助力职场维权

科技热闻

AutoCAD 2021 mac中文破解版 cad2021安装包分享

理理

Netflix视频下载器SameMovie Netflix Video Downloader

理理

专业的文件共享和协作工具Dropshare 5 for mac激活版

Mac相关知识分享

廊坊具有资质等保测评机构叫做什么?位于哪里?

行云管家

网络安全 数据安全 堡垒机 廊坊

腾讯全球数字生态大会:大咖共探数智未来

ToB行业头条

探索淘宝拍立淘API:解锁以图搜图的购物新体验

代码忍者

api 网关 API 策略

超10万钉钉低代码应用完成AI化,助力中小企业一键迈入AI时代

ToB行业头条

mac好用的鼠标键盘捕捉工具 Macro Recorder Enterprise

理理

Java 7 Hotspot循环Bug详解_Java_Alex Blewitt_InfoQ精选文章