java中把内存划分为两种:堆内存和栈内存。
堆内存用于存放用new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。堆的优势是可以动态分配内存空间,不必告诉编译器生存期。缺点是:存取速度慢。
栈内存用于存放基本类型变量和对象的引用。变量在栈中分配的内存空间,在变量超过作用域之后,将自动释放它的内存空间。栈的优势是存取速度比堆快,仅次于寄存器,栈数据可以共享。缺点是存在栈中的变量的数据大小和生存期必须是确定的,缺乏灵活性。
java中把内存划分为两种:堆内存和栈内存。
堆内存用于存放用new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。堆的优势是可以动态分配内存空间,不必告诉编译器生存期。缺点是:存取速度慢。
栈内存用于存放基本类型变量和对象的引用。变量在栈中分配的内存空间,在变量超过作用域之后,将自动释放它的内存空间。栈的优势是存取速度比堆快,仅次于寄存器,栈数据可以共享。缺点是存在栈中的变量的数据大小和生存期必须是确定的,缺乏灵活性。