JVM大總結(jié)

1.JVM三個主要子系統(tǒng):類加載子系統(tǒng)诀浪,運行時數(shù)據(jù)區(qū)棋返,執(zhí)行引擎

2.類加載子系統(tǒng):加載、驗證雷猪、準(zhǔn)備睛竣、解析、初始化求摇、使用射沟、卸載

加載:將class文件從磁盤督導(dǎo)內(nèi)存

驗證:驗證字節(jié)碼文件的正確性

準(zhǔn)備:給類的靜態(tài)變量分配內(nèi)存并賦予默認值

解析:類加載器裝入類所引用的其他所有類

初始化:為類的靜態(tài)變量賦予正確的初始值,執(zhí)行類的靜態(tài)代碼塊

3.類加載器種類:①啟動類加載器(Bootstrap Classloader)負責(zé)加載JRE的核心類庫②擴展類加載器(Extension Classloader)負責(zé)加載JRE擴展ext目錄下的包③系統(tǒng)類加載器(Application Classloader)負責(zé)加載classpath路徑下的類包④用戶自定義類加器(User classloader)負責(zé)加載用戶自定義路徑下的類包与境。

4.類加載機制:全盤負責(zé)委托機制验夯、雙親委派機制

全盤負責(zé)委托機制:當(dāng)一個classLoader加載一個類的時候,除非顯示的使用另一個classLoader該類所依賴和引用的類也是用它加載摔刁。

雙親委派機制:指先委托父類加載器尋找目標(biāo)類簿姨,在找不到的情況下再自己的路徑中查找并加載。優(yōu)勢:①沙箱安全機制:比如自己寫的String.class類不會被加載簸搞,這樣可以防止核心類庫被修改②避免類的重復(fù)加載:當(dāng)父classloader已經(jīng)加載了改類的時候,就不需要子類再去加載了准潭。

5.判斷對象是否可用的方法:①引用計數(shù)法:缺點無法解決對象循環(huán)引用的問題②可達性分析算法:通過一系列的成為"GC Roots的對象作為起點趁俊,從這些節(jié)點開始向下搜索,節(jié)點所走過的路徑刑然,當(dāng)一個對象到GC Roots沒有任何引用鏈相連時寺擂,則證明此對象是不可用的。GC Roots根節(jié)點:類加載器泼掠、Thread怔软、虛擬機棧的局部變量表、static成員择镇、常量引用挡逼、本地方法棧的常量等等。

6.如何判斷一個常量是廢棄常量腻豌?

運行時常量池主要回收的是廢棄的常量家坎,那么,我們怎么判斷一個常量是廢棄常量吝梅?假如在常量池中存在字符串"abc",如果當(dāng)前沒有任何string對象引用該字符串常量的話虱疏,就說明常量abc就是廢棄常量。

7.如何判斷一個類是無用的類苏携?

滿足三個條件:①該類的所有實例都已經(jīng)被回收做瞪,也就是java堆中不存在該類的任何實例②加載該類的classLoader已經(jīng)被回收③該類對應(yīng)的java.lang.Class對象沒有字任何地方被引用,無法在任何地方通過反射訪問該類的方法右冻。使類復(fù)活可以重寫finalize()方法装蓬,只能自救一次著拭。

8、垃圾回收算法:①復(fù)制算法(from,to區(qū)使用)②標(biāo)記-清除算法(eden區(qū)使用)③標(biāo)記整理算法(老年代使用)④分代收集算法

9.CMS垃圾收集器

9.怎么選擇垃圾收集器矛物?

①優(yōu)先調(diào)整堆的大小讓服務(wù)器自己來選擇②如果內(nèi)存小于100m,使用串行收集器③如果是單核茫死,并且沒有停頓時間的要求,串行或讓JVM自己來選擇④如果允許停頓時間超過1秒履羞,選擇并行或者JVM自己選擇⑤如果響應(yīng)時間最重要峦萎,并且不能超過1秒,使用并發(fā)收集器忆首。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爱榔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子糙及,更是在濱河造成了極大的恐慌详幽,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浸锨,死亡現(xiàn)場離奇詭異唇聘,居然都是意外死亡,警方通過查閱死者的電腦和手機柱搜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門迟郎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聪蘸,你說我怎么就攤上這事宪肖。” “怎么了健爬?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵控乾,是天一觀的道長。 經(jīng)常有香客問我娜遵,道長蜕衡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任衷咽,我火速辦了婚禮,結(jié)果婚禮上镶骗,老公的妹妹穿的比我還像新娘躲雅。我一直安慰自己,他們只是感情好相寇,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唤衫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪休里。 梳的紋絲不亂的頭發(fā)上赃承,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音拭嫁,去河邊找鬼抓于。 笑死,一個胖子當(dāng)著我的面吹牛驮宴,可吹牛的內(nèi)容都是我干的呕缭。 我是一名探鬼主播修己,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼睬愤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砂豌?” 一聲冷哼從身側(cè)響起光督,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎筐摘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體圃酵,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡郭赐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年确沸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片张惹。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡宛逗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雷激,到底是詐尸還是另有隱情,我是刑警寧澤承桥,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布凶异,位于F島的核電站挤巡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏喉恋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一轻黑、第九天 我趴在偏房一處隱蔽的房頂上張望氓鄙。 院中可真熱鬧,春花似錦玖详、人聲如沸把介。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至券膀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芹彬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工会喝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留玩郊,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓预茄,卻偏偏與公主長得像耻陕,于是被迫代替她去往敵國和親刨沦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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

  • 一、基礎(chǔ)理論知識 1侧蘸、java虛擬機的生命周期: Java虛擬機的生命周期 一個運行中的Java虛擬機有著一個清晰...
    ipfs布道者閱讀 312評論 0 1
  • 一讳癌、知識詳解模塊 1.dex/class深入講解 2.jvm/dvm/art三個虛擬機的深入講解 3.class ...
    hanfengzqh閱讀 4,605評論 0 20
  • 這幾天研習(xí)了一下《深入理解Java虛擬機》這本書存皂,算是補補課逢艘、充充電它改,有邊看邊記筆記的習(xí)慣(不然看完還是忘),分享...
    UP7CR閱讀 2,229評論 8 92
  • 根據(jù)閱讀 《深入理解java虛擬機》 加上一點自己的理解央拖。 JVM運行時數(shù)據(jù)區(qū)域 程序計數(shù)器:程序計數(shù)器是一個較小...
    zycisbg閱讀 1,929評論 0 3
  • 想說點什么吧鲜戒,但好像又不想說抹凳,欲言又止,欲說還休失都,終于不想開口颖系。甚至,連天涼好個秋也省去了嘁扼,也真是寡言到極致了。其...
    烏鴉一只閱讀 131評論 0 1