为了账号安全,请及时绑定邮箱和手机立即绑定

编译Java文件后的class文件里有时候有break

编译Java文件后的class文件里有时候有break

鸿蒙传说 2019-03-05 14:15:30
有时候编译的class文件是和直接去除Java中的注释后一致的有时候会在for循环或者if判断中出现label xxx,随后有一个break xxx。有时候你写的if(xxx >= 1) 他会编译成 if(xxx<1) 这些都是编译器自己处理的?有什么规则没有?
查看完整描述

4 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

有时候编译的class文件是和直接去除Java中的注释后一致的 : 注释只存在于javadoc;

有时候会在for循环或者if判断中出现label xxx,随后有一个break xxx。 
有时候你写的if(xxx >= 1) 他会编译成 if(xxx<1) 这些都是编译器自己处理的?有什么规则没有?
编译器优化;


查看完整回答
反对 回复 2019-04-26
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

这个应该和反编译软件有关,不同的反编译软件结果是有一定区别的


查看完整回答
反对 回复 2019-04-26
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

java源文件里面的注释在编译成class文件后是忽略掉所有注释的
不同的虚拟机对class字节码的处理都有不同的优化方式。


查看完整回答
反对 回复 2019-04-26
  • 4 回答
  • 0 关注
  • 663 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号