写点什么

Java 8 Update 11 破坏了第三方工具

  • 2014-08-03
  • 本文字数:649 字

    阅读完需:约 2 分钟

Oracle 最近发布的 Java 8 update 11(以及 7 update 65)导致一些第三方工具出现了问题。ZeroTurnaround 的 JRebel 是受影响的工具之一,Groovy 编程语言也报告了不兼容情况。其它受影响的工具还包括 Javassist ,这是一个 Java 字节码操作库,同时还有一些用户报告了工具的问题,如 Google 的 Guice(在某些情况下——尤其是那些使用了 AOP 的情况)和 Jacoco 代码覆盖工具。Oracle 通过 Groovy 项目团队 Jochen Theodorou 提供的测试用例确认了这一 Bug。

该问题似乎是由于 8u11 修改了 JVM 的字节码验证子系统而引起的。Java 语言要求构造函数将任何对超类构造函数的调用作为其首先执行的动作,但在平台的早期版本中,字节码验证器似乎没有对这一点进行强制。Oracle 决定开始更坚定地强制执行这一语言特性,这可能会消除一个语言规范的Bug,但它似乎已经对该生态系统中的许多工具产生了影响。

目前,没有任何迹象表明没有使用字节码重编或者AOP 技术的Java 代码受到该Bug 的影响。据了解,8u11 版本完全兼容所有由javac 直接生成的、不受重编技术影响的字节码,但这些技术在现代框架中的广泛存在使得这一消息只能给开发人员带来有限的安慰。

Oracle 至今尚未宣布发布修复补丁的日期,而且到目前为止,唯一的总体变通方案是使用 -noverify 开关或者避免在修复补丁发布之前升级。不过,个别工具已经提出了他们自己的变通方案,比如,Anton Arhipov(Zero Turnaround)已经确认,最新版本的 JRebel(5.6.1)将包含针对这个问题的变通方案。

查看英文原文: Java 8 Update 11 Broke Third Party Tools

2014-08-03 02:194061
用户头像

发布了 256 篇内容, 共 85.2 次阅读, 收获喜欢 12 次。

关注

评论

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

如何get一个终身免费续期的定制数字人?

阿里云视频云

云计算 视频云 数字人

记录第一次带后端团队

高端章鱼哥

后端 带团队

基础设施SIG月度动态:「龙蜥大讲堂」基础设施系列专题分享完美收官,容器镜像构建 2.0 版本上线

OpenAnolis小助手

开源 容器 云原生 龙蜥社区 KeenTune

花了小半年开发的 AI 套壳 APP,然而大势已过,现已完全开源啦

mylxsw

flutter 开源 Go 语言 app development AI工具

什么是云教室,有什么功能特性?

青椒云云电脑

云教室

云桌面在学校云教室有什么应用场景?优势是什么

青椒云云电脑

云桌面 云教室

做设计图可以用云电脑么?如何使用

青椒云云电脑

云电脑

华为云发布CodeArts Inspector漏洞管理服务,守护产品研发安全

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号9月PK榜

美女程序媛的求职路复盘:也算是逆袭了!

王中阳Go

golang 职业发展 求职面试 学习效率 女程序媛

为 DevOps 战士准备的 Linux 命令

CODING DevOps

中企出海,用火山引擎DataTester开启增长第一步

字节跳动数据平台

大数据 A/B 测试 企业号9月PK榜

图形工作站和设计师电脑有什么区别?

青椒云云电脑

图形工作站

OEX去中心化量化交易所系统dapp开发

V\TG【ch3nguang】

区块链交易所系统源码开发,数字货币交易平台搭建解决方案

V\TG【ch3nguang】

桌面云一体机价格怎么样?

青椒云云电脑

桌面云 桌面云一体机

通过实例学习鸿蒙静态库的创建与使用

互联网工科生

鸿蒙 harmony C++

图形工作站跟电脑有什么区别?

青椒云云电脑

图形工作站

代码审查真的已经过时了吗?

树上有只程序猿

敏捷开发 代码审查

算法AB实验平台进化历程和挑战

得物技术

后端 实验 企业号9月PK榜

兑换质押挖矿交易所系统DAPP开发

V\TG【ch3nguang】

Java 8 Update 11破坏了第三方工具_Java_Ben Evans_InfoQ精选文章