page contents

heap 和 stack 有什么区别?

轩辕小不懂 发布于 2022-07-29 15:54
阅读 795
收藏 0
分类:框架系列
3988
Nen
Nen
- 程序员

Java 的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量, 当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。


堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用 new 创建的对象都放在堆里,所以,它不会随方法的结束而消失。方法中的局部变量使用 final 修饰后,放在堆中,而不是栈中。

请先 登录 后评论