“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

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

关注

评论

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

索信达控股上半年成绩出炉:核心业务收入大幅增长75.3%

索信达控股

实时数仓Workshop · 广州站 9.15 邀您参加!

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

StarRocks 与奥威软件完成产品兼容认证,共同打造数据驱动的智慧企业

StarRocks

数据库

J-Tech Talk | 编写Dockerfile的最佳实践

Jina AI

Docker J-Tech Talk

开源一夏 | React对于生命周期的深入研究

恒山其若陋兮

开源 8月月更

区块链合约安全系列(四):如何认识及预防公链合约中的算术溢出攻击

BSN研习社

区块链 智能合约

乐观锁和悲观锁各自应用场景

浅羽技术

Java 乐观锁 悲观锁 8月月更

如何进行企业数字化转型?数字化转型的3大核心规律

优秀

企业数字化转型

页面切换转场动画,英雄救场更有趣!

岛上码农

flutter ios 前端 移动端开发 8月月更

隐私公链Findora生态布局,隐私赛道发展急先锋

EOSdreamer111

一文读懂隐私公链Findora生态布局

鳄鱼视界

SMTP协议详解

工程师日月

8月月更

每日一R「16」实践课之 kv-server(二)

Samson

学习笔记 8月月更 ​Rust

如何快速地学习东西(上篇)

宇宙之一粟

学习 成长 8月月更

MySQL常见面试题

浅羽技术

MySQL 数据库 面试 后端 8月月更

客户案例|雅森帮携手观测云,保障海量在线用户服务体验

观测云

我是咖啡师,在软件公司上班|ONES 人物

万事ONES

当满世界喧嚣“All in Web3”,但你可以慢慢来

One Block Community

区块链 程序员 开发者 就业 黑客马拉松

盘点:阿里云效平台的5大替代解决方案

PingCode

[JS入门到进阶] 哎,被vite小坑了一波,大家记得配置build.cssTarget为'chrome61'

HullQin

CSS JavaScript html 前端 8月月更

leetcode 205. Isomorphic Strings 同构字符串(简单)

okokabcd

LeetCode 算法与数据结构

什么是数据结构

乌龟哥哥

8月月更

Hash算法详细介绍与实现(一)

迷彩

hash算法 8月月更

开源一夏 |为什么线程池不允许使用Executors去创建?

六月的雨在InfoQ

开源 OOM Executors ThreadPoolExecutor 8月月更

一文读懂隐私公链Findora生态布局

BlockChain先知

vim设置go语法高亮

程序员欣宸

vim 8月月更

后端面试必备知识点

浅羽技术

Java 面试 后端 8月月更

EMQX + PolarDB-X 一站式 IoT 数据解决方案

阿里云数据库开源

数据库 阿里云 开源 :MySQL 数据库 PolarDB-X

阿里云实时计算 Flink 版 x Hologres: 构建企业级一站式实时数仓

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

头脑风暴:二叉搜索树中的众数

HelloWorld杰少

算法 LeetCode 8月月更

一文读懂隐私公链Findora生态布局

股市老人

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