关于虚指令和字节码的困惑
来源:6-2 平台无关性如何实现
莨菽菽
2020-04-23
老师的原话是:红框内的是虚指令,也就是所说的字节码
问题:
1.意思是反编译出来的内容,包括了虚指令和非虚指令(部分源代码本身)么?
2.idea的反编译是把虚指令都换成了源代码了么?
3.字节码就是虚指令这么一小部分,就是说字节码!=class文件,是class文件包括字节码么?
写回答
1回答
-
同学好,感觉同学需要理解javap是个什么东西,javap是 JDK自带的一个工具,可以将 class文件反编译成字节码,它并没有将class文件反编译成 java文件,但是依然反编译成可读的格式。所以它会依据不同的参数,输出不同的内容,如果-c的话,输出的就是纯字节码,因为我们的字节码先前是被编过码的,所以javap可以转成可看的。
此外,idea会自带将字节码转成源码的插件工具。
字节码不仅包括虚指令,还包括其他的,比如定义结构 数据类型 方法 这些
https://zhuanlan.zhihu.com/p/45050364
052023-05-11
相似问题