【发布时间】:2020-10-27 00:32:33
【问题描述】:
这个决定背后的原因是什么?为什么动态地在堆上而不是在堆栈上创建对象?这样做是否可以节省空间?
【问题讨论】:
-
我的问题是你知道堆和栈的区别吗?
-
当你为一个对象或任何类型的数据结构分配内存时,它通常在堆上——系统中的空闲内存——在大多数编程语言中。堆栈通常用于为函数/方法调用推送内存(变量)。在Java 中,被传递对象的句柄(地址、指针)被放入堆栈。在硬件中,堆栈指针有时会受到限制。堆栈不适用于长期(程序持续时间)存储;从某种意义上说,它用于在进行子例程调用时保存和恢复上下文。这个概念远远超出了 Java。
-
你了解堆和栈是什么,它们有什么区别等等!?
-
这能回答你的问题吗? Heap vs Stack vs Perm Space
标签: java