类是在程序启动的时候,加载到jvm虚拟机中的,在加载的过程中,会解读类的属性和方法,同时属性和方法会放到各自的区域,首先说再堆中:比如String字符串会放到字符串常量池,static 修饰的关键字,会放到静态区,类中有new 的对象会在堆中开辟空间。在栈中会放一些方法,还有变量或者对象的引用等,比如
public void test(){
}
这个方法,是在栈中,还有
Dog dog = new Dog();
其中=后面的new Dog()是在堆内存中开辟空间A,=前面的dog在栈中,其中保存堆中A内存的地址。