2013-11-21 152 views
0

有關堆棧和堆在java中的問題存儲在堆棧或堆

當在java中創建一個靜態變量,方法或類 - 它存儲在哪裏?它是存儲在調用棧還是堆上?

我的意思是:

靜態的(內部)類

靜態字段

靜態方法

回答

2

所有非本地的東西沒有明確存儲離堆都存儲在堆上。這包括類定義,字段和靜態字段。

只有局部變量(在單個方法,構造函數等範圍內)在調用堆棧上。

除此之外,這是依賴於執行的。 (熱點本地代碼存儲,任何人?)