Class文件
Java代码一次编译就能跨操作系统运行,依靠的是class文件和各操作系统上的JVM来完成的,JVM把class文件解释成自己操作系统的指令。
Class文件的构成
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200713221304473.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JiODgzODQ=,size_16,color_FFFFFF,t_70#pic_center)
Tips
- 在Method定义的字节码中,方法的代码长度为4个字节,表示编译后的方法代码长度最长为 232字节。但表示行号长度的只有两个字节,所以Java方法编译后的最长长度不能超过 216字节,即64K。
LineNumberTable
指令下 line a:b ,a 代表源码的行数,b代表这行代码的第一条JVM指令的pc偏移量 。