JVM總結(jié)

1.類加載的過程

1.類的加載是指把類的.class 文件中的數(shù)據(jù)讀入到內(nèi)存中,通常是創(chuàng)建一個字節(jié)數(shù)組讀入.class 文件,然后產(chǎn)生與所加載類對應的 Class 對象
2.當類被加載后就進入連接階段翁巍,這一階段包括驗證狡忙、準備(為靜態(tài)變量分配內(nèi)存并設置默認的初始值)和解析(將符號引用替換為直接引用)三個步驟
3.最后 JVM 對類進行初始化祟绊,包括:1)如果類存在直接的父類并且這個類還沒有被初始化燎竖,那么就先初始化父類;2)如果類中存在初始化語句要销,就依次執(zhí)行這些初始化語句构回。

2.簡述JVM

(1)JVM粗略分為三個部分:類加載器(ClassLoader),運行時數(shù)據(jù)區(qū)和執(zhí)行引擎疏咐。
(2)類加載器:加載程序中的類和接口纤掸,為他們賦予唯一的名字。
(3)執(zhí)行引擎:執(zhí)行字節(jié)碼浑塞,執(zhí)行本地方法借跪。
(4)運行時數(shù)據(jù)區(qū):

  • 方法區(qū)(線程共享)
  • 堆(線程共享)
  • 虛擬機棧(線程私有)
  • 本地方法棧(線程私有)
  • 程序計數(shù)寄存器(線程私有)

3.內(nèi)存中棧、堆和方法區(qū)的用法

棧:基本數(shù)據(jù)類型變量酌壕、對象的引用掏愁、函數(shù)調(diào)用的現(xiàn)場保存歇由;
堆:new關鍵字和構(gòu)造器創(chuàng)建的對象,堆是垃圾回收器管理的主要區(qū)域果港;
方法區(qū):jvm加載的類信息沦泌、常量、靜態(tài)變量辛掠、JIT編譯器編譯后的代碼谢谦、常量池(常量池是方法區(qū)的一部分);
程序計數(shù)寄存器:每一個線程都會有一個程序計數(shù)寄存器萝衩,它也是在線程創(chuàng)建是建立的回挽,寄存器的內(nèi)容指向下一個將被執(zhí)行的地址。

4.垃圾回收算法

(1)引用計數(shù)法
原理是猩谊,一個對象增加一個引用就會計數(shù)加一千劈,減少一個引用就會減一,最后只會回收計數(shù)為0的對象预柒。
(2)標記清除
分為兩個階段队塘,第一階段從根節(jié)點開始標記每一個被引用的對象,第二階段宜鸯,清除所有未被標記的對象憔古。
(3)復制
把堆空間平均分為兩部分,把引用的對象復制到同一個空間里淋袖,然后清除另一個空間里所有的對象鸿市。
(4)標記整理
先從根節(jié)點開始標記被引用的對象,刪除所有未被標記的對象即碗,然后再把剩余對象整理到一個空間里依次排放焰情,避免了空間碎片。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末剥懒,一起剝皮案震驚了整個濱河市内舟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌初橘,老刑警劉巖验游,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異保檐,居然都是意外死亡耕蝉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門夜只,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垒在,“玉大人,你說我怎么就攤上這事扔亥〕∏” “怎么了谈为?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長推盛。 經(jīng)常有香客問我峦阁,道長,這世上最難降的妖魔是什么耘成? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任榔昔,我火速辦了婚禮,結(jié)果婚禮上瘪菌,老公的妹妹穿的比我還像新娘撒会。我一直安慰自己,他們只是感情好师妙,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布诵肛。 她就那樣靜靜地躺著,像睡著了一般默穴。 火紅的嫁衣襯著肌膚如雪怔檩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天蓄诽,我揣著相機與錄音薛训,去河邊找鬼。 笑死仑氛,一個胖子當著我的面吹牛乙埃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锯岖,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼介袜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了出吹?” 一聲冷哼從身側(cè)響起遇伞,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捶牢,沒想到半個月后赃额,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡叫确,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了芍锦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竹勉。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖娄琉,靈堂內(nèi)的尸體忽然破棺而出次乓,到底是詐尸還是另有隱情吓歇,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布票腰,位于F島的核電站城看,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏杏慰。R本人自食惡果不足惜测柠,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缘滥。 院中可真熱鬧轰胁,春花似錦、人聲如沸朝扼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽擎颖。三九已至榛斯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搂捧,已是汗流浹背驮俗。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留异旧,地道東北人意述。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像吮蛹,于是被迫代替她去往敵國和親荤崇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 2潮针、JVM的基本介紹JVM是Java Virtual Machine(Java虛擬機)的縮寫术荤,JVM是一種用于計算...
    我還不夠強閱讀 203評論 0 0
  • Java 虛擬機(Java virtual machine,JVM)是運行 Java 程序必不可少的機制每篷。JVM實...
    Rick617閱讀 864評論 0 0
  • 內(nèi)存區(qū)域 JVM的主要組成部分和作用JVM整體來看分為:運行時數(shù)據(jù)區(qū)瓣戚,類加載子系統(tǒng)、執(zhí)行引擎以及本地方法接口(與n...
    czczccz閱讀 223評論 0 1
  • 1. 大概內(nèi)容 內(nèi)存區(qū)域 內(nèi)存泄漏和內(nèi)存溢出 類型擦除 對象創(chuàng)建焦读,分配和訪問 GC的判定 GC實現(xiàn)方法 類加載過程...
    yufeiyang1995閱讀 311評論 0 0
  • 內(nèi)存區(qū)域 Java虛擬機在執(zhí)行Java程序的過程中會把它所管理的內(nèi)存劃分為若干個不同的數(shù)據(jù)區(qū)域子库。這些區(qū)域都有各自的...
    wustor閱讀 377評論 0 2