栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java:int数组使用非零元素初始化

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java:int数组使用非零元素初始化

在这里,我们面对的是JIT编译器中的错误。编译器确定在分配后已填充分配的数组

Arrays.fill(...)
,但是在分配和填充之间的使用检查不正确。因此,编译器执行非法优化-
跳过分配数组的清零。

此错误放置在Oracle错误跟踪器中(错误ID
7196857)。不幸的是,我没有等待Oracle关于以下几点的任何澄清。如我所见,此错误是特定于操作系统的错误:它在64位Linux和Mac上绝对可重现,但是,正如我从评论中看到的那样,它在Windows上不定期复制(对于类似版本的JDK)。此外,很高兴知道何时会修复此错误。

目前只有建议:如果您依赖JLS创建新声明的数组,请不要使用JDK1.7.0_04或更高版本。

10月5日更新:

在2012年10月4日发布的新JDK 7u10 Build
10(早期版本)中,此错误至少已在Linux
OS中修复(我没有测试其他错误)。感谢@Makoto,他发现该错误不再对Oracle错误数据库开放供公众访问。不幸的是,我不知道Oracle从公共访问中删除它的原因,但是它在Google
缓存中可用。此外,此错误已引起Redhat的注意:为此漏洞分配了CVE标识符CVE-2012-4420
(bugzilla)和CVE-2012-4416(bugzilla)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号