在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

数字货币引发的金融变革

CECBC

数字化时代

SQL数据库:窗口函数

正向成长

窗口函数

高承实:区块链的工业革命带来了什么?

CECBC

区块链 分布式

面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

小傅哥

Java 并发编程 共享锁 Semaphore 信号量

Redis 持久化之 RDB 与 AOF 详解

AI乔治

Java 架构 redis持久化 redia

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

Nginx-技术专题-技术介绍

码界西柚

读谱对吉他手来说重要吗?试试它提升你的读谱效率

奈奈的杂社

学习 编曲 打谱

国网浙江建设公司推进“信用基建+区块链”建设

CECBC

区块链 国网 基建

新工业化如何实现?今年的信息化百人会中藏着“懂行”密码

脑极体

《网络是怎样连接的》PDF下载

计算机与AI

网络

什么是低代码(Low-Code)?

移动研发平台EMAS

工具 研发效能 低代码 开发 代码

【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

冰河

MySQL 数据库 性能优化 数据安全 分布式数据储存

【薪火计划】03 - 从错误中认识到管理

码上生长

管理

11.11 应对海量访问的网络基石 京东智联云自研交换机发展之路

京东科技开发者

运维 网络 交换机

Springboot过滤器和拦截器详解及使用场景

AI乔治

Java spring 架构 Spring Boot

甲方日常53

句子

工作 随笔杂谈 日常

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

会装虚拟机,删库不用跑

MySQL从删库到跑路

虚拟机 virtualbox

注册中心原理剖析

石刻掌纹

MySQL从库维护经验分享

Simon

MySQL 主从复制

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

我真的尽力了,最经典Redis面试14题,没时间复习就看这个吧

小Q

redis 学习 编程 架构 面试

阿里P8以hashmap讲解如何学习jdk源码,还不学习

小Q

Java 学习 源码 jdk mybatis

vue项目实战经验汇总

徐小夕

Java 面试 Vue 大前端 Vue3

智变的八个瞬间,京东智联云化“?”为“!”

脑极体

MySQL中的锁机制

AI乔治

Java MySQL 架构 线程 锁机制

Glide.with(view)挂在了谁的生命周期上

mengxn

生命周期 Glide Activity Fragment

【活动回顾】WebRTC服务端工程实践和优化探索

ZEGO即构

WebRTC 服务端工程

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