1、首先在Java中程序员都不可以直接操作堆和栈
2、new创建的对象存在于堆中,局部变量存在于栈中。在堆中定义的对象会在栈中存其的首地址,方便快速访问。
3、栈的存取方式为先进后出,堆为先进先出
4、栈的访问速度快于堆
5、栈的生命周期一般短,用完即释放。堆相对较长,用完不一定释放,由操作系统的内存回收机制决定
1、首先在Java中程序员都不可以直接操作堆和栈
2、new创建的对象存在于堆中,局部变量存在于栈中。在堆中定义的对象会在栈中存其的首地址,方便快速访问。
3、栈的存取方式为先进后出,堆为先进先出
4、栈的访问速度快于堆
5、栈的生命周期一般短,用完即释放。堆相对较长,用完不一定释放,由操作系统的内存回收机制决定