javap 反编译Atomicity 1.5.0_22和1.8.0_111的区别

本文探讨了不同版本的JDK(1.5.0_22与1.8.0_111)对Java类文件反编译的影响。在JDK1.5.0_22中反编译特定类文件遇到问题,而在JDK1.8.0_111环境下则能成功。文中还提到了原子操作的概念及其在并发环境中的重要性。

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 效果如下:

1.5.0_22反编译效果

在jdk1.8.0_111下反编译 Atomicity 效果如下:
1.8.0_111反编译效果

每条指令都会产生一个get和put,它们之间还有一些其他的命令。因此在获取和放置之间,另一个任务可能会修改这个域,所以,这些操作不是原子性的。

参考:《Java编程思想》第四版本 作者:Buce Eckel

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值