栈与堆内存分配
堆栈分配:分配发生在连续的内存块上。我们称其为堆栈内存分配,因为分配发生在函数调用堆栈中。编译器知道要分配的内存大小,并且每当调用函数时,其变量都会在堆栈上分配内存。每当函数调用结束时,变量的内存就会被释放。这一切都是使用编译器中的一些预定义例程发生的。程序员不必担心堆栈变量的内存分配和取消分配。这种内存分配也称为临时内存分配,因为一旦该方法完成执行,属于该方法的所有数据就会自动从堆栈中刷新。
关键点:
- 这是一种临时内存分配方案,其中仅当包含数据成员的 method() 当前正在运行时才可以访问数据成员。
- 一旦相应的方法完成执行,它就会自动分配或取消分配内存。
- 我们收到相应的 Java 错误。lang. StackOverFlowError,如果堆栈内存完全填满。
与堆内存分配相比,堆栈