JVM内存模型里的堆和栈有什么区别?用途:栈主要用于存储局部变量、方法调用的参数、方法返回地址以及一些临时数据。每当一个方法被一个栈帧(stack frame)就会在栈中创建,用于存储该方法的信息,当方法执行完毕,栈帧也调用,会被移除。堆用于存储对象的实例(包括类的实例和数组)。当你使用 new 关键字创建一个对象时对象的实例就会在堆上分配空间。生命周期:栈中的数据具有确定的生命周期,当一个方法调用结束时,其对应的栈帧就会被销毁,栈中存储的局部变量也会随之消失。堆中的对象生命周期不确定,对象会在垃圾回收机制(GarbageCollection, Gc)检测到对象不再被引用时才被回收。存取速度:...