JAVA中堆和栈的概念

| 百科知识 |

【www.kvc13.com--百科知识】

堆是先进先出,而栈是先进后处

1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。

与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。

2.栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。

但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。

另外,栈数据可以共享,详见第3点。

堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。

但缺点是,由于要在运行时动态分配内存,存取速度较慢。

本文来源:http://www.kvc13.com/lishiwenhua/135445/

    【JAVA中堆和栈的概念】相关推荐