为什么在Java中,对象是在堆上而不是在堆栈上?

时间:2020-07-06 19:59:25

标签: java

此决定背后的原因是什么?为什么要动态地使对象位于堆而不是堆栈上?通过在上这样做,我们是否节省了空间?

1 个答案:

答案 0 :(得分:0)

如果在堆栈上分配一个对象,则该对象的生命周期仅限于当前方法调用。当方法返回时,该对象以及存储在堆栈框架中的所有其他对象将自动销毁。这意味着不可能编写返回对象的函数或将新对象添加到列表的函数。

您可以像一样通过复制移动该对象来使其工作。但是随后您必须处理C ++的复杂性。 Java应该比这更简单。