十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
小編給大家分享一下jvm高級面試題有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
公司主營業(yè)務:成都網(wǎng)站制作、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出玉泉免費做網(wǎng)站回饋大家。
2.7.1. Serial 垃圾收集器(單線程、復制算法)
Serial(英文連續(xù))是最基本垃圾收集器,使用復制算法,曾經(jīng)是JDK1.3.1 之前新生代唯一的垃圾收集器。Serial 是一個單線程的收集器,它不但只會使用一個 CPU 或一條線程去完成垃圾收集工作,并且在進行垃圾收集的同時,必須暫停其他所有的工作線程,直到垃圾收集結(jié)束。
Serial 垃圾收集器雖然在收集垃圾過程中需要暫停所有其他的工作線程,但是它簡單高效,對于限定單個 CPU 環(huán)境來說,沒有線程交互的開銷,可以獲得最高的單線程垃圾收集效率,因此 Serial
垃圾收集器依然是 java 虛擬機運行在 Client 模式下默認的新生代垃圾收集器。
2.7.2. ParNew 垃圾收集器(Serial+多線程)
ParNew 垃圾收集器其實是 Serial 收集器的多線程版本,也使用復制算法,除了使用多線程進行垃圾收集之外,其余的行為和 Serial 收集器完全一樣,ParNew 垃圾收集器在垃圾收集過程中同樣也要暫停所有其他的工作線程。
ParNew 收集器默認開啟和 CPU 數(shù)目相同的線程數(shù),可以通過-XX:ParallelGCThreads 參數(shù)來限制垃圾收集器的線程數(shù)。【Parallel:平行的】
ParNew雖然是除了多線程外和Serial 收集器幾乎完全一樣,但是ParNew垃圾收集器是很多 java虛擬機運行在 Server 模式下新生代的默認垃圾收集器。
2.7.3. Parallel Scavenge 收集器(多線程復制算法、高效)
Parallel Scavenge 收集器也是一個新生代垃圾收集器,同樣使用復制算法,也是一個多線程的垃圾收集器,它重點關(guān)注的是程序達到一個可控制的吞吐量(Thoughput,CPU 用于運行用戶代碼的時間/CPU 總消耗時間,即吞吐量=運行用戶代碼時間/(運行用戶代碼時間+垃圾收集時間)),
高吞吐量可以最高效率地利用 CPU 時間,盡快地完成程序的運算任務,主要適用于在后臺運算而不需要太多交互的任務。自適應調(diào)節(jié)策略也是 ParallelScavenge 收集器與 ParNew 收集器的一個重要區(qū)別。
2.7.4. Serial Old 收集器(單線程標記整理算法 )
Serial Old 是 Serial 垃圾收集器年老代版本,它同樣是個單線程的收集器,使用標記-整理算法,
這個收集器也主要是運行在 Client 默認的 java 虛擬機默認的年老代垃圾收集器。
在 Server 模式下,主要有兩個用途:
1. 在 JDK1.5 之前版本中與新生代的 Parallel Scavenge 收集器搭配使用。
2. 作為年老代中使用 CMS 收集器的后備垃圾收集方案。
新生代 Serial 與年老代 Serial Old 搭配垃圾收集過程圖:
新生代 Parallel Scavenge 收集器與 ParNew 收集器工作原理類似,都是多線程的收集器,都使用的是復制算法,在垃圾收集過程中都需要暫停所有的工作線程。新生代 ParallelScavenge/ParNew 與年老代 Serial Old 搭配垃圾收集過程圖:
2.7.5. Parallel Old 收集器(多線程標記整理算法)
Parallel Old 收集器是Parallel Scavenge的年老代版本,使用多線程的標記-整理算法,在 JDK1.6才開始提供。
在 JDK1.6 之前,新生代使用 ParallelScavenge 收集器只能搭配年老代的 Serial Old 收集器,只能保證新生代的吞吐量優(yōu)先,無法保證整體的吞吐量,Parallel Old 正是為了在年老代同樣提供吞吐量優(yōu)先的垃圾收集器,如果系統(tǒng)對吞吐量要求比較高,可以優(yōu)先考慮新生代 Parallel Scavenge和年老代 Parallel Old 收集器的搭配策略。新生代 Parallel Scavenge 和年老代 Parallel Old 收集器搭配運行過程圖:
以上是“jvm高級面試題有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!