Java内存空间分两种,一种是栈内存,有多个,一种是堆内存,只有一个,在堆内存中又有一块方法区. 方法区中存储的是:类的信息(类名,类的直接父类,类的访问修饰符),类变量,类方法代码,实例方法代码,常量池.注意没有实例变量. 当使用new创建一个对象的时候,JVM实际上做了三件事:加载类,创建该类的对象,初始化. 加载类就是把类加载方法区,有类信息,类变量,类方法,实例方法,常量(包含字符串常量),加载完后,需要在堆内存中开辟一块空间,完成对象的创建.堆内存中的对象空间只有实例变量,包括基本数据…