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

有时候编译的class文件是和直接去除Java中的注释后一致的
有时候会在for循环或者if判断中出现label xxx,随后有一个break xxx。
有时候你写的if(xxx >= 1) 他会编译成 if(xxx<1) 这些都是编译器自己处理的?有什么规则没有?

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

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

这个正常 还有goto。。。。
貌似 编译的clsss只有方法名啊和注释,没有代码,如果想看class的源码,下载反编译软件。。

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

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