什么是java java中,靜態(tài)變量存儲(chǔ)在哪個(gè)區(qū)啊,堆還是棧啊,或者說其他地方,謝謝?
java中,靜態(tài)變量存儲(chǔ)在哪個(gè)區(qū)啊,堆還是棧啊,或者說其他地方,謝謝?它存儲(chǔ)在類定義中,即類文件中。編譯和運(yùn)行時(shí),它將映射到內(nèi)存堆區(qū)域:1。存儲(chǔ)所有對(duì)象,每個(gè)對(duì)象都包含相應(yīng)的類信息。(該類的目的是獲取
java中,靜態(tài)變量存儲(chǔ)在哪個(gè)區(qū)啊,堆還是棧啊,或者說其他地方,謝謝?
它存儲(chǔ)在類定義中,即類文件中。編譯和運(yùn)行時(shí),它將映射到內(nèi)存
堆區(qū)域:
1。存儲(chǔ)所有對(duì)象,每個(gè)對(duì)象都包含相應(yīng)的類信息。(該類的目的是獲取操作說明)
2。JVM中的所有線程只共享一個(gè)堆。堆不存儲(chǔ)基本類型和對(duì)象引用,只存儲(chǔ)對(duì)象本身的堆棧:1。每個(gè)線程都包含一個(gè)堆棧,它只存儲(chǔ)基本數(shù)據(jù)類型和自定義對(duì)象的引用(而不是對(duì)象),對(duì)象存儲(chǔ)在heap 2中。每個(gè)堆棧中的數(shù)據(jù)(原始類型和對(duì)象引用)都是私有的,其他堆棧無法訪問它。
操作區(qū)域分為三個(gè)部分:操作區(qū)域、指令堆棧和操作環(huán)境。方法區(qū):1。它也被稱為靜態(tài)區(qū)域。和堆一樣,它也被所有線程共享。方法區(qū)域包含所有類和靜態(tài)變量。2方法區(qū)域包含在整個(gè)程序中總是唯一的元素,例如類和靜態(tài)變量。