jdk 10.0.2 bug修复
2018-07-28 11:17
232 查看
之前记录过jdk9+版本的1个bug,某些情况下会导致方法执行二遍,今天早上打开笔记本(mac),弹出一个框提示jdk升级10.0.2,顺手点了一下,然后验证了下该bug,发现居然fix掉了,推荐大家升级!
还是这段代码:
public class JavacEvalBug{ private static String[] array = {""}; static int test(){ System.out.println("evaluated!"); return 0; } public static void main(String[] args) { array[test()] += "a"; } }
编译运行后,只输出了一次evaluated!,用工具查看字节码:
javap -verbose JavacEvalBug
(注:jdk 10.0.2 在mac上的安装路径为 /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home)
输出如下(仅截取了片段):
public static void main(java.lang.String[]); descriptor: ([Ljava/lang/String;)V flags: (0x0009) ACC_PUBLIC, ACC_STATIC Code: stack=4, locals=1, args_size=1 0: getstatic #5 // Field array:[Ljava/lang/String; 3: invokestatic #6 // Method test:()I 6: dup2 7: aaload 8: invokedynamic #7, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 13: aastore 14: return LineNumberTable: line 11: 0 line 12: 14
test:() I 这里只调用了1次,这回可以放心使用jdk 10了。顺便,附图一张,jdk近年来更新节奏大提速,从下图看,10.0.2这个版本到2018-12-16 就过期了(即:又得升级)
相关文章推荐
- Mahout0.6-VectorDumper bug修复
- cocos2dx 3.0 使用cocostudio的UI动画(ActionManagerEx&&ActionObject)的bug修复
- dedecms关键词关连文章BUG及修复方法
- Dubbo序列化的Bug及相应修复过程
- ASP.NET MVC+Bootstrap个人博客之修复UEditor编辑时Bug(四)
- EasyPlayer RTSP Android安卓播放器修复播放画面卡在第一帧bug
- 深入jdk——追踪Collections.sort 引发的bug(1)mergeSort
- element ui 表格动态列显示空白bug 修复
- Linux-视频监控系统(13)-BUG统计及修复
- 仿酷狗音乐播放器开发日志三——修复CEditUI的bug2
- 解决wss在php7中无法使用的问题及bug修复
- Tornado的Connection reset by peer - 记一次tornado的BUG修复
- Ubuntu的第一“Bug”何时可修复
- 自学python(07) 简易版计算器(还有一点点小bug未修复)
- 仿酷狗音乐播放器开发日志十九——CTreeNodeUI的bug修复二(附源码)
- [BUG修复]“"_OBJC_CLASS_$_***文件名", referenced from:”问题的修复
- apache支持asp.net的模块mod_aspdotnet的BUG修复及重编译
- 修复RHEL5添加/删除软件包管理BUG
- flume spooldir bug修复
- LibreOffice 4.3发布,修复了一个11年之久的Bug