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