操作指令

E:\develop\Java\jdk1.8.0_241\bin>javap -c E:\idea\common-java\city-brain-designpattern\target\classes\com\city\common\APP.class

  1. public class APP {
  2. public static void main(String[] args) {
  3. }
  4. }
  5. public class com.city.common.APP {
  6. public com.city.common.APP();
  7. Code:
  8. 0: aload_0
  9. 1: invokespecial #1 // Method java/lang/Object."<init>":()V
  10. 4: return
  11. public static void main(java.lang.String[]);
  12. Code:
  13. 0: return
  14. }

Class加载过程

1.装载:通过类的全限定名将Class的二进制流读取到虚拟机的方法区
2.验证:
文件格式
元数据
字节码
符号引用
3.准备阶段:
为静态变量在方法区的运行时常量池中开辟空间,给静态变量赋予默认的初始值。
4.解析:
将符号引用转换成直接引用。
5.初始化
真正的给静态变量赋予正确的值。