JVM内存结构分为三块:栈、堆、方法区(也在堆中)。栈描述的是方法执行的内存模型。每个线程创建一个栈(存储实际参数,局部变量等,线程私有,不共享),每个方法创建一个栈帧(存储局部变量、操作数、方法出口等)。栈是一个连续的内存空间,速度快,先进后出。堆存储对象,所有线程共享,不连续,分配灵活、速度慢。方法区,线程共享,存放类信息(Class对象)、静态变量、字符串常量等。