写点什么

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:194257
用户头像

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

关注

评论

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

模块五-微博评论“的高性能高可用计算架构

柱林

JavaScript 数组元素的一些操作

HoneyMoose

架构实战营模块5作业

宁静志远

架构实战营

架构实战营 - 模块 5 - 微博评论的高性能高可用计算架构

雪中亮

架构实战营 #架构实战营

设计微博系统中”微博评论“的高性能高可用计算架构

木云先森

架构训练营

四种引用类型在Springboot中的使用

4ye

Java spring 后端 springboot 8月日更

架构实战营 - 模块 5- 设计微博系统中”微博评论“的高性能高可用计算架构

蔸蔸

架构实战训练营第五模块作业

子豪sirius

架构实战营

[架构实战营] 模块五作业

xyu

#架构实战营

模块五作业

Testcase

架构实战营

架构训练营模块五作业

喻高咏        

iOS开发:Xcode报错“Could not insert new outlet connection:Could not find any...”问题的解决方法

三掌柜

8月日更 8月

模块五作业 - 微博评论的高性能高可用计算架构

君子意如何

「架构师训练营第 1 期」

百度助力人工智能教育创新:教育部产学合作协同育人项目申报进行中!

百度大脑

人工智能

MongoDB中间件工具mgm入门介绍(一)

liuzhen007

8月日更

模块五作业

河马先生

架构实战营

手撸二叉树之第二小的节点

HelloWorld杰少

数据结构与算法 8月日更

【架构训练营】模块五作业

zclau

开发一个分布式IM(即时通信)系统!

小傅哥

Netty DDD 小傅哥 即时通信

HBase 原理、Shell、API读写操作

Mike

架构实战营模块五作业

老猎人

架构实战营

老和云起小游

箭上有毒

8月日更

模块5 作业

SAKIN

架构实战营 模块五 作业

脉醉

#架构实战营

架构实战营 模块五 作业

三叔叔_拖延症晚期

模块5作业

Geek_ywh40v

【设计模式】策略模式

Andy阿辉

C# 后端 设计模式 8月日更

有同学问我:Fetch 和 Ajax 有什么区别?

编程三昧

JavaScript ajax 大前端 8月日更 Fetch

微博评论高性能高可用方案设计

gawaine

架构实战营

模块五作业

VE

架构实战营

模块五作业-微博评论-高性能高可用架构

babos

#架构实战营

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