时间:01-17人气:25作者:旧巷拥懒猫
JVM中,堆存储对象实例和数组,栈存储方法调用的局部变量和操作数栈。堆是线程共享的,栈是线程私有的。
区别
堆:存放所有对象实例,内存空间较大,垃圾回收器负责管理。程序运行时动态分配内存,生命周期不确定,可能被多个线程访问。内存不足时触发垃圾回收,回收后空间可复用。
栈:每个线程独立拥有,存储方法执行时的局部变量、方法出口等。内存空间较小,生命周期与线程或方法绑定。方法调用时创建栈帧,结束时自动释放,速度快且无需垃圾回收。
注意:本站部分文字内容、图片由网友投稿,如侵权请联系删除,联系邮箱:happy56812@qq.com