堆 JVM只有一个堆,堆被所有的线程共享,创建的对象就存储在堆中。 栈 每个线程都有自己的栈,栈是私有的,各线程之间并不共享,栈中保存着基本数据类型的对象以及自定义对象的引用,对象的本身存储在堆中。 方法区 方法区又叫静态区,方法区也是被所有线程共享的,方法区中包括class和static变量,并且运行时常量池都分配在方法区中。