2014-01-18 83 views
0

我有一個包含靜態字段的類,如存儲關鍵字的大型列表。然後我有靜態方法在這些靜態字段上工作。我想知道是否靜態字段每次調用靜態方法時都會清空並加載。每次使用時都會調用/加載靜態字段嗎?

+1

不,他們不是。加載類時只加載一次。 –

+0

@RohitJain所以如果我只用一次這個類,它仍然會被正確加載? –

+0

當然,當你使用一個類,它被加載。 –

回答

0

這就是正確的靜態字段被加載類的時候得到加載即當程序啓動和它保持,直到程序終止,並且所有創建的對象共享與靜態變量中存在的值相同的值。

2

我想知道每次我調用靜態方法時靜態字段是否被清空和加載。

沒有,除非你做了,上課時得到的類加載器加載的靜態字段都被初始化

+0

我只將這個類用於靜態方法,所以我想知道該類是否仍然會被加載 –

+0

如果類尚未加載,VM應該從哪些內容獲取實際執行的信息?所以,虛擬機必須加載類,儘管所有東西都被定義爲靜態的。 –

+0

當類首次被運行庫中的jvm需要時,yes類仍將被加載 –

0

換句話說,靜態字段總是存在。當類加載器加載類時,每個靜態字段在堆內存中都有它的位置。

相關問題