2010-10-19 84 views
0

其中對象,變量變量,臨時變量都存儲在java中?他們如何被引用?我知道方法正在堆棧中存儲。變量存儲在堆或堆棧中?java中的內存管理

+1

是你說的與內存管理有關的東西嗎?此外,請澄清您的術語「變量變量」和「臨時變量」。在我看來,方法內部只有「本地/堆棧變量」,其壽命從方法的開始到結束。 – 2010-10-19 04:21:35

回答

6

其中對象,變量變量,臨時變量存儲在java中?

  1. 對象存儲在堆上。總是。

  2. 對象字段/屬性是它們各自對象的組成部分。我想這就是你所說的「變量變量」。

  3. 局部變量和方法參數存儲在堆棧中。

注意:如果一個字段,變量,參數有一個物體或陣列,相應的值將在「時隙」用於通過一個對象引用的對象場/局部變量/參數來表示。

它們是如何被引用的?

對象被對象引用引用。如何表示這些對象引用是一個實現細節,它是JVM特定的,對於應用程序是不透明的。但是,在大多數的情況下,它們都是普通的32位或64位機器(虛擬)地址。

+1

+1對於一個問題的一個混亂的答案 – 2010-10-19 04:38:51