JAVA中堆和栈的概念

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:15:01
JAVA中堆和栈的概念,有什么意义?有什么作用?

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

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。

2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。

去看数据结构吧。
这不是java所独有的。