java中的堆和栈
堆内存
堆内存是是Java内存中的一种,它用于存储Java中的对象和数组,它的特点是先进先出,可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,但缺点是,由于要在运行时动态分配内存,存取速度较慢。
栈内存
栈内存是Java的另一种内存,主要是用来执行程序用的,比如:基本类型的变量和对象的引用变量,它的特点是先进后出,后进先出,存取速度比堆要快,仅次于寄存器,栈数据可以共享,但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性,栈内存可以称为一级缓存,由垃圾回收器自动回收。