jvm調(diào)優(yōu)從哪幾個(gè)方面 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ì)象都包含一個(gè)與之對(duì)應(yīng)的class的信息。(class的目的是得到操作指令) 2.
java中,靜態(tài)方法被調(diào)用是,存儲(chǔ)在內(nèi)存的哪個(gè)區(qū)域?是棧?還是放大區(qū)?還是兩者都有?
堆區(qū):
1.存儲(chǔ)的全部是對(duì)象,每個(gè)對(duì)象都包含一個(gè)與之對(duì)應(yīng)的class的信息。(class的目的是得到操作指令)
2.jvm只有一個(gè)堆區(qū)(heap)被所有線程共享,堆中不存放基本類型和對(duì)象引用,只存放對(duì)象本身 棧區(qū): 1.每個(gè)線程包含一個(gè)棧區(qū),棧中只保存基礎(chǔ)數(shù)據(jù)類型的對(duì)象和自定義對(duì)象的引用(不是對(duì)象),對(duì)象都存放在堆區(qū)中 2.每個(gè)棧中的數(shù)據(jù)(原始類型和對(duì)象引用)都是私有的,其他棧不能訪問。
3.棧分為3個(gè)部分:基本類型變量區(qū)、執(zhí)行環(huán)境上下文、操作指令區(qū)(存放操作指令)。 方法區(qū): 1.又叫靜態(tài)區(qū),跟堆一樣,被所有的線程共享。方法區(qū)包含所有的class和static變量。 2.方法區(qū)中包含的都是在整個(gè)程序中永遠(yuǎn)唯一的元素,如class,static變量。
java類中的靜態(tài)方法是何時(shí)創(chuàng)建何時(shí)銷毀的,存放在內(nèi)存什么地方?
你確定問的是靜態(tài)方法?靜態(tài)方法和普通方法一樣都是在jvm類加載階段加載到方法區(qū)的,當(dāng)沒有類加載器引用到該類對(duì)象時(shí),full gc時(shí)就會(huì)被銷毀。