jdk1.5.0_22环境下使用javacp -c Atomicity.class反编译不成功,提示ERROR:Could not find Atomicity.class,但使用javacp -c Atomicity可反编译成功;
jdk1.8.0_111环境下使用javacp -c Atomicity.class 和javacp -c Atomicity(该条命令会有提示 Warning: Binary file Atomicity contains com.concurrency.Atomicity)均可反编译成功
在jdk1.5.0_22下反编译 Atomicity 效果如下:
在jdk1.8.0_111下反编译 Atomicity 效果如下:
每条指令都会产生一个get和put,它们之间还有一些其他的命令。因此在获取和放置之间,另一个任务可能会修改这个域,所以,这些操作不是原子性的。
参考:《Java编程思想》第四版本 作者:Buce Eckel
本文探讨了不同版本的JDK(1.5.0_22与1.8.0_111)对Java类文件反编译的影响。在JDK1.5.0_22中反编译特定类文件遇到问题,而在JDK1.8.0_111环境下则能成功。文中还提到了原子操作的概念及其在并发环境中的重要性。
726

被折叠的 条评论
为什么被折叠?



