- Student student = new Student("tellUrDream") ,就是让 JVM 创建一个Student对象,
- 方法区中是没有 Student 类的信息的,所以 JVM 马上加载 Student 类,把 Student 类的信息放到方法区中
- 加载完 Student 类后,JVM 在堆中为一个新的 Student 实例分配内存,
- 然后调用构造函数初始化 Student 实例,这个 Student 实例持有 指向方法区中的 Student 类的类型信息 的引用
- 执行student.sayName();时,JVM 根据 student 的引用找到 student 对象,然后根据 student 对象持有的引用定位到方法区中 student 类的类型信息的方法表,获得 sayName() 的字节码地址。
- 执行sayName()
全部评论
(0) 回帖