写在前面
最近闲暇时间在研究jvm虚拟机原理,所以把日常看到的、学习到的记录下来,这篇文章主要是讲基础的Class文件的查看和解析
会持续更新
概念
Class文件是经过JDK中javac工具编译后的一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符.
如何查看编译后的Class文件?推荐两种不需要安装任何额外工具的查看方式.在IDE中打开.class文件,会被内置的反编译插件反编译,还原成java类文件,既不能起到查看.class文件的目的,也不符合不安装额外工具的要求.
这里使用javap命令对class文件查看
对于class文件描述网上有很多文章,就不细写了,比如:https://blog.csdn.net/tyyj90/article/details/78472986
这里主要是按照实际例子来解析class文件
实例
源码:
1 | //JapTest.java |
使用如下命令
1 | javap -verbose JapTest |
得到如下内容
接下来我们一句一句来看看,内容较多,见下文