java堆和棧的區(qū)別 java中,靜態(tài)方法被調(diào)用是,存儲(chǔ)在內(nèi)存的哪個(gè)區(qū)域?是棧?還是放大區(qū)?還是兩者都有?
java中,靜態(tài)方法被調(diào)用是,存儲(chǔ)在內(nèi)存的哪個(gè)區(qū)域?是棧?還是放大區(qū)?還是兩者都有?堆區(qū)域:1。存儲(chǔ)所有對(duì)象,每個(gè)對(duì)象都包含相應(yīng)的類信息。(該類的目的是獲取操作說(shuō)明)2。JVM中的所有線程只共享一個(gè)堆
java中,靜態(tài)方法被調(diào)用是,存儲(chǔ)在內(nèi)存的哪個(gè)區(qū)域?是棧?還是放大區(qū)?還是兩者都有?
堆區(qū)域:
1。存儲(chǔ)所有對(duì)象,每個(gè)對(duì)象都包含相應(yīng)的類信息。(該類的目的是獲取操作說(shuō)明)
2。JVM中的所有線程只共享一個(gè)堆。堆不存儲(chǔ)基本類型和對(duì)象引用,只存儲(chǔ)對(duì)象本身的堆棧:1。每個(gè)線程都包含一個(gè)堆棧,它只存儲(chǔ)基本數(shù)據(jù)類型和自定義對(duì)象的引用(而不是對(duì)象),對(duì)象存儲(chǔ)在heap 2中。每個(gè)堆棧中的數(shù)據(jù)(原始類型和對(duì)象引用)都是私有的,其他堆棧無(wú)法訪問(wèn)它。
3. 堆棧分為三個(gè)部分:基本類型變量區(qū)、執(zhí)行環(huán)境上下文和操作指令區(qū)。方法區(qū):1。它也被稱為靜態(tài)區(qū)域。和堆一樣,它也被所有線程共享。方法區(qū)域包含所有類和靜態(tài)變量。2方法區(qū)域包含在整個(gè)程序中總是唯一的元素,例如類和靜態(tài)變量。
JAVA虛擬機(jī)中方法區(qū)存儲(chǔ)哪些內(nèi)容?
方法區(qū)域類似于傳統(tǒng)語(yǔ)言中的編譯代碼或UNIX進(jìn)程中的正文段。它包含方法代碼(編譯的Java代碼)和符號(hào)表。在當(dāng)前的Java實(shí)現(xiàn)中,方法代碼不包括在垃圾收集堆中,但計(jì)劃在將來(lái)的版本中實(shí)現(xiàn)。每個(gè)類文件都包含Java類或Java接口的編譯代碼??梢哉f(shuō)類文件是Java語(yǔ)言的可執(zhí)行代碼文件。為了保證類文件的平臺(tái)無(wú)關(guān)性,Java虛擬機(jī)規(guī)范對(duì)類文件的格式進(jìn)行了詳細(xì)的描述。有關(guān)詳細(xì)信息,請(qǐng)參閱sun的Java虛擬機(jī)規(guī)范。
jvm方法區(qū)中存放的是什么東?jvm方法區(qū)?
方法區(qū)域1。其中,每個(gè)類的結(jié)構(gòu)信息、運(yùn)行時(shí)常量池的字節(jié)碼內(nèi)容、字段、方法數(shù)據(jù)、常用方法和構(gòu)造方法。(這是一個(gè)規(guī)范。不同的虛擬機(jī)有不同的實(shí)現(xiàn)。最典型的例子是永久空間和元空間。實(shí)例變量位于堆內(nèi)存中,與方法區(qū)域無(wú)關(guān)。2它絕對(duì)不是用來(lái)放方法的。三。此區(qū)域中的所有線程都是共享的,并且存在垃圾回收。右