写点什么

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

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

关注

评论

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

【Node专题】Node 与 Go 的认识

南吕

后端 Node 4月日更

手把手教你写一个经典躲避游戏

HZFEStudio

大前端 游戏 canvas

网络协议学习笔记Day3

穿过生命散发芬芳

网络协议 4月日更

当我看技术文章的时候,我在想什么?

why技术

Java

容器 & 服务: 扩容

程序员架构进阶

容器 k8s 28天写作 弹性扩容 4月日更

mmkv跨进程,面试字节跳动Android研发岗,灵魂拷问

欢喜学安卓

android 程序员 面试 移动开发

量化策略系统搭建,马丁策略交易

【go专题】Context的理解

南吕

Go 语言 4月日更

浅谈BSS3.0产品“守成”之策下 • 运维提升篇

鲸品堂

软件 运维 提升

新思科技发布《疫情中的安全隐患:移动应用程序安全现状》报告

InfoQ_434670063458

App 新思科技 移动应用程序安全

读《小岛经济学有感》

箭上有毒

读书笔记 4月日更

闲来无事,写脚本,install_wordpress

ilinux

架构实战营 - 架构设计文档模板

华仔

架构设计 文档模板

一场关于演讲的演讲

Jxin

小米java社招面试记录,带备战思路

Java架构师迁哥

你的故事,触动了我的心

小天同学

读后感 读书总结 4月日更 皮囊

2021|南吕

南吕

生活随想 4月日更

MBP恢复记(体验rm -rf /*)

SamGo

学习

Java虚拟机原理

风翱

JVM 4月日更

Pytorch数据加载

Sakura

4月日更

NumPy之:标量scalars

程序那些事

Python 数据分析 Numpy 程序那些事 scalar

如何减少管理层级?

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

聪明人的训练(二十四)

Changing Lin

4月日更

图算法系列之深度优先搜索(一)

Silently9527

Java 深度优先搜索 图算法

PassJava 初始化项目和添加微服务

悟空聊架构

ndk开发环境,个人开发者做一款App需要知道的事情,绝对干货

欢喜学安卓

android 程序员 面试 移动开发

边缘计算加持下的智慧社区

边缘计算

游戏测试-战斗内核的自动化测试

行者AI

人工智能

翻译:《实用的Python编程》InstructorNotes

codists

Python

扩展 GRTN:云原生趋势下的 RTC 架构演进

阿里云CloudImagine

阿里云 云原生 RTC SRS流媒体服务器

编程实战:如何管理代码里的常量

华为云开发者联盟

常量 代码 web开发 final常量类 复用常量

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