最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單分析java中CMS回收器

 更新時間:2018年10月09日 11:33:38   投稿:laozhang  
在本篇文章里我們給大家分享了關(guān)于java中CMS回收器的相關(guān)知識點內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。

CMS(Concurrent Mark Sweep)回收器

它使用的是標記清除算法,同時又是一個使用多線程并行回收的垃圾回收器。

CMS主要工作步驟

CMS工作時主要步驟有初始標記、并發(fā)標記、預(yù)清理、重新標記、并發(fā)清除和并發(fā)重置。其中初始標記和重新標記是獨占系統(tǒng)資源的,而預(yù)清理、并發(fā)標記、并發(fā)清除和并發(fā)重置是可以和用戶線程一起執(zhí)行的。因此它可以在應(yīng)用程序運行過程中進行垃圾回收。

根據(jù)標記清除算法,初始標記、并發(fā)標記和重新標記都是為了標記出需要回收的對象。并發(fā)清理則是在標記完成后,正是回收垃圾對象。并發(fā)重置是指在垃圾回收完成后,重新初始化CMS數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù),為下一次垃圾回收做好準備。

在整個CMS回收過程中,默認情況下,在并發(fā)標記之后,會有一個預(yù)清理的操作(也可以設(shè)置參數(shù)-XX:CMSPrecleaningEnabled,不進行預(yù)清理)。預(yù)清理是并發(fā)的,除了為正式清理做準備和檢查以外,預(yù)清理還會嘗試控制一次停頓時間。由于重新標記是獨占CPU的,如果新生代GC發(fā)生后立即觸發(fā)一次重新標記,那么一次停頓時間可能很長。為了避免這種情況,預(yù)清理時,會可以等待一次新生代GC的發(fā)生,然后根據(jù)歷史性能數(shù)據(jù)預(yù)測一下新生代GC可能發(fā)生的時間,然后在當(dāng)前時間和預(yù)測時間的中間時刻,進行重新標記。這樣,最大程度上避免新生代GC和重新標記重合,盡可能減少一次停頓時間。

CMS主要參數(shù)設(shè)置

-XX:+UseConcMarkSweepGC啟用CMS回收器

-XX:ConcGCThreads 設(shè)置并發(fā)線程數(shù)量

-XX:CMSInitiatingOccupancyFraction 設(shè)置當(dāng)老年代使用率達到N時,執(zhí)行一次CMS回收。

-XX:+UseCMSCompactAtFullCollection CMS在垃圾收集完成后,進行一次碎片整理。

-XX:CMSFullGCsBeforeCompaction 設(shè)置當(dāng)進行N次CMS回收后進行一次內(nèi)存壓縮。

-XX:+CMSClassUnloadingEnabled 使用CMS機制回收Perm區(qū)Class數(shù)據(jù)

相關(guān)文章

  • Java8中Stream的詳細使用方法大全

    Java8中Stream的詳細使用方法大全

    Java8的另一大亮點Stream,它與java.io包里的InputStream和OutputStream是完全不同的概念,下面這篇文章主要給大家介紹了關(guān)于Java8中Stream詳細使用方法的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Java用鄰接表存儲圖的示例代碼

    Java用鄰接表存儲圖的示例代碼

    鄰接表是圖的一種鏈式存儲方法,其數(shù)據(jù)結(jié)構(gòu)包括兩部分:節(jié)點和鄰接點。本文將用鄰接表實現(xiàn)存儲圖,感興趣的小伙伴可以了解一下
    2022-06-06
  • Java鍵值對Pair的使用方式和操作實現(xiàn)

    Java鍵值對Pair的使用方式和操作實現(xiàn)

    鍵值對是一種常見的數(shù)據(jù)結(jié)構(gòu),它由一個唯一的鍵和與之關(guān)聯(lián)的值組成,本文就來介紹一下Java鍵值對Pair的使用方式和操作實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • 關(guān)于Java中Bean的作用域詳解

    關(guān)于Java中Bean的作用域詳解

    這篇文章主要介紹了關(guān)于Java中Bean的作用域詳解,限定程序中變量的可?范圍叫做作?域,或者說在源代碼中定義變量的某個區(qū)域就叫做作?域,需要的朋友可以參考下
    2023-08-08
  • 解決springboot配置文件組解決自動配置屬性無法注入問題

    解決springboot配置文件組解決自動配置屬性無法注入問題

    在使用Spring Boot時,可能會遇到配置文件屬性注入失敗的問題,本文描述了一個案例,其中嘗試使用profile文件組指定不同環(huán)境下的配置文件,但遇到了屬性無法成功注入的情況,提供的解決辦法是將Spring Boot的版本號從2.2.0.RELEASE升級到2.4.0
    2024-09-09
  • JAVA一個快速排序?qū)崿F(xiàn)代碼

    JAVA一個快速排序?qū)崿F(xiàn)代碼

    排序有哪幾種方法?請列舉。并用JAVA實現(xiàn)一個快速排序.,需要的朋友可以參考下
    2017-02-02
  • Spring Boot 2.x 實現(xiàn)文件上傳功能

    Spring Boot 2.x 實現(xiàn)文件上傳功能

    這篇文章主要介紹了Spring Boot 2.x 實現(xiàn)文件上傳功能,本文分步驟通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • spring-spring容器中bean知識點總結(jié)

    spring-spring容器中bean知識點總結(jié)

    在本篇文章里小編給大家分享了關(guān)于spring-spring容器中bean知識點總結(jié),有需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • Nacos集群模式下服務(wù)無法注冊問題

    Nacos集群模式下服務(wù)無法注冊問題

    這篇文章主要介紹了Nacos集群模式下服務(wù)無法注冊問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java  多線程的三種構(gòu)建方法

    java 多線程的三種構(gòu)建方法

    這篇文章主要介紹了java 多線程的三種構(gòu)建方法的相關(guān)資料,這里提供三種實現(xiàn)方法,希望大家能夠掌握,很重要的基礎(chǔ)知識,需要的朋友可以參考下
    2017-09-09

最新評論

乐都县| 崇义县| 比如县| 临潭县| 无为县| 沛县| 南康市| 美姑县| 瓦房店市| 乌兰察布市| 成武县| 阳曲县| 宣武区| 青田县| 汝城县| 兰溪市| 康定县| 攀枝花市| 商丘市| 屏山县| 富裕县| 玉树县| 肇东市| 涿州市| 东阳市| 三门峡市| 马公市| 阳高县| 沿河| 台湾省| 将乐县| 卢氏县| 荥经县| 阜康市| 登封市| 博客| 方城县| 常熟市| 札达县| 泗水县| 丹江口市|