2013-11-21 155 views
0

有关堆栈和堆在java中的问题存储在堆栈或堆

当在java中创建一个静态变量,方法或类 - 它存储在哪里?它是存储在调用栈还是堆上?

我的意思是:

静态的(内部)类

静态字段

静态方法

回答

2

所有非本地的东西没有明确存储离堆都存储在堆上。这包括类定义,字段和静态字段。

只有局部变量(在单个方法,构造函数等范围内)在调用堆栈上。

除此之外,这是依赖于执行的。 (热点本地代码存储,任何人?)