采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师的原话是:红框内的是虚指令,也就是所说的字节码
问题:
1.意思是反编译出来的内容,包括了虚指令和非虚指令(部分源代码本身)么?
2.idea的反编译是把虚指令都换成了源代码了么?
3.字节码就是虚指令这么一小部分,就是说字节码!=class文件,是class文件包括字节码么?
同学好,感觉同学需要理解javap是个什么东西,javap是 JDK自带的一个工具,可以将 class文件反编译成字节码,它并没有将class文件反编译成 java文件,但是依然反编译成可读的格式。所以它会依据不同的参数,输出不同的内容,如果-c的话,输出的就是纯字节码,因为我们的字节码先前是被编过码的,所以javap可以转成可看的。
此外,idea会自带将字节码转成源码的插件工具。
字节码不仅包括虚指令,还包括其他的,比如定义结构 数据类型 方法 这些
https://zhuanlan.zhihu.com/p/45050364
老师你的意思,class文件其实包括很多内容不止是,javap <options>可以选择展示class的其他内容,但是我们用的上的就是javap -c单纯只看字节码而已,因为字节码可以分析源码,是这么理解么?
同学好,可以这么理解哈,因为其他的有一些出栈入栈指令,我们不需要关心
老师,我钻个牛角尖啊,如果别人问,class文件就是字节码么?或者问字节码就是class文件么?这个要怎么回答?因为有时候课程会说class文件有时候说字节码文件,我想知道是不是同一个东西
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.7k 27
2.7k 22
1.2k 15
1.4k 14
1.3k 14