十六进制查看class文件
- 以HelloWorld为例,创建一个
HelloWorld.java
文件,内容如下:public class HelloWorld { public static void main(String[] args) { String s = "Hollo World"; } }
- 在
HelloWorld.java
文件所在目录下,打开终端,执行javac HelloWorld.java
- 在当前目录下会生成.class文件
HelloWorld.class
- 继续在该目录下执行
vim HelloWorld.class
,此时会看到如下:
![](https://i-blog.csdnimg.cn/blog_migrate/dbb4abdff3be7bbdb822b08b44e25cb2.png)
- 此时,输入英文状态下的冒号
:
,然后输入:%!xxd
,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/1e9b4076afe9eb208d0af43ec619fe8d.png)
- 回车。可以看到.class文件的16进制。
![](https://i-blog.csdnimg.cn/blog_migrate/cd2752a3ec66195f5d1a7046699a5c9b.png)
反编译class文件
在该目录下执行命令javap -verbose HelloWorld.class
![](https://i-blog.csdnimg.cn/blog_migrate/0ef82e21e02431cc020ad85d09896d33.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6e54f4419552419a59b8d5810353201a.png)