构造函数调用存储在哪里?堆栈还是堆?

时间:2016-10-01 09:41:04

标签: java

创建对象并调用构造函数时,构造函数调用存储在何处?它是在堆栈还是堆上?

3 个答案:

答案 0 :(得分:4)

构造函数调用的参数和局部变量存储在堆栈中,直到构造函数返回为止。

构造函数创建的对象存储在堆 1

1 - ...除非您启用了“转义分析”,并且JIT编译器可以确定可以在堆栈上安全地分配对象。

答案 1 :(得分:1)

JVM中堆栈和堆的运行时数据区如下,

1)堆:对象的存储区域(每个JVM实例一个)

2)Java堆栈:存储用于局部变量,中间操作的结果。(每个线程一个)

答案 2 :(得分:1)

堆仅用于存储对象。没有办法在堆上调用构造函数。

它的调用是在堆栈上完成的。

Stack用于方法调用。它用于创建方法堆栈。虽然构造函数不是一种方法。但是你可以随时写任何逻辑或赋值任何方法。所以它像任何其他方法一样在堆栈中实现。

相关问题