1. 类的加载:编译好.java文件之后,执行.class文件。启动jvm过程,从classpath门路中找到.class文件,将类信息加载到办法区
  2. 执行main办法。
  3. 第一条语句Student stu = new Student("JACK");此时办法区中没有student类的相干信息,所以加载student类,放到办法区
  4. 加载完student类后,jvm在中为stu实例分配内存,调用构造函数初始化stu实例,此实例持有指向办法区中的stu类的类型信息的援用
  5. 执行stu.say()时,jvm依据stu的援用找到stu对象,依据stu对象持有的援用定位到办法区中student类的类型信息的办法表,取得say的字节码地址。
  6. 执行say