IntelliJIDEA中decompiled.classfilebytecodevers。。。
⽤idea编译出来的.class⽂件和.java⽂件查看时内容⼀样的,是idea进⾏了了某种处理吗?如果⽤jclasslib看,⼜是另⼀种内容。
这是因为idea对class⽂件进⾏了反编译⼯作。即是
intellijideadecompiled.class file bytecode version:50.0(java 6)
翻译⼀下上⾯的意思:(反编译 .class⽂件中的字节码 到Java 6版本)
打开源⽂件,其实这个时候,你就得注意⼀下,你看到⽂件是 .class⽂件,还是 .java⽂件。
前提理论知识
.java为Java的源⽂件后缀,编写的代码需要写在.java⽂件中。
⽽.class是字节码⽂件,是.java源⽂件通过javac命令编译后⽣成的⽂件。
Java虚拟机就是去运⾏.class⽂件从⽽实现程序的运⾏。 jdk⾃带 .class ⽂件,在运⾏的时候,没必要每次都去把 .java⽂件再编译⼀遍成 .class⽂件,去运⾏。 也是为了加快代码执⾏速度。
⽂件对⽐
这个.java⽂件和我们⾃⼰写的.java⽂件⼀样,是可以打开看内容
现在看到的是.class⽂件,我们知道⾃⼰的写的.java⽂件会经过编译器编译然后变成.class⽂件,然后才可以运⾏的。这可以看到.class⽂件内部的代码,都是编译器⾃动反编译decompiled的功劳。
对于我们使⽤的jar包,有***.jar⽂件,和 ***-source.jar。source.jar内容⽐较详细,会有开发⼈员详细的注释,⽐.jar⽂件内容更加详细。但是功能都是⼀样的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论