Java中堆、栈和队列
Java中堆、栈和队列简介:堆是一个运行时数据区,通过new等指令创建,不需要程序代码显式释放<1>优点:可动态分配内存大小,生存周期不必事先告诉编译器,Java垃圾回收自动回收不需要的数据;<2>缺点:运行时需动态分配内存,数据存取速度较慢。
堆是一个运行时数据区,通过new等指令创建,不需要程序代码显式释放
<1>优点:
可动态分配内存大小,生存周期不必事先告诉编译器,Java垃圾回收自动回收不需要的数据;
<2>缺点:
运行时需动态分配内存,数据存取速度较慢。
如:
String str = new String(“abc”);
String str2 = new String(“abc”);
它们代表的含义如下图所示:
![Java中堆、栈和队列[图]](https://exp-picture.cdn.bcebos.com/c3c22dbf3bef354fe748708d23db574afb321b44.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
Java中堆、栈和队列[图]
栈限制仅在表的一端进行插入和删除运算的线性表,先进后出FILO
<1>优点:
存取速度比堆快,仅次于寄存器,栈数据可以共享;
<2>缺点:
存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。
如:
String str = “abc”;
String str2 = “abc”;
它们代表的含义如下图所示:
![Java中堆、栈和队列[图]](https://exp-picture.cdn.bcebos.com/92dd32f7dfb2dc190edc9fa895def4dca1391044.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
Java中堆、栈和队列[图]
![Java中堆、栈和队列[图]](https://exp-picture.cdn.bcebos.com/cfadcdd96975f2c426699df08f0148fe1f420644.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_640%2Climit_1%2Fformat%2Cf_auto%2Fquality%2Cq_80)
Java中堆、栈和队列[图]
本文用户投稿或网站收集转载,如有侵权请联系本站。