栈的特点 栈描述的是方法执行的内存模型,每个方法被调用都会被调用栈帧(存储局部变量,操作数,方法出口等)JVM为每个线程创建一个栈,用于执行该线程执行方法的信息(实际参数,局部变量等)栈属于线程私有,不能实现线程间的共享栈的存储特性是:“先进先出,后今后出”栈是由系统分配,速度快,栈是一个连续的内存空间 堆的特点 堆用于存储创建好的对象和数组(数组也是对象)JVM只有一个堆,被所有线程共享堆是一个不连续的空间,分配灵活,速度慢 方法区特点 JVM只有一个方法区,被所有线程共享方法区实际也是堆,只是用于存储类、常量相关的信息