1)最开始时方法区最先有字节码文件的数据,也就是.class文件 2)在方法区的所有字节码文件中找到main方法将main方法入栈 3)执行main方法中的内容。这里是创建了一个Student对象的实例,那么就会在堆空间中开辟出一块空间用于存储数据。而实例变量则会指向堆空间中开辟空间的地址。如果你没有重写toString()方法,打印输出实例对象的话会输出它的地址值。 4)成员方法不是数据,如何保存?对于成员方法来说,它保存的是地址值,class文件中对应方法的地址值会被保存在堆中。多个实例的方法保存的地址值是一样的,这样会节省内存空间。 5) 调用方法时会将方法入栈,遵循先进后出的原则,直到main方法执行完毕。