1. gzyueqian
      13352868059

      Java培訓:垃圾收集器有哪些?

      更新時間: 2021-10-19 09:31:01來源: 粵嵌教育瀏覽量:12757

        Java虛擬機規范中對垃圾收集器應該如何實現并沒有任何規定,不同的版本和不同的收集群可以針對不同的場景需要,最新的并不意味就是最好的,有時候在架構和業務層面考慮,可以根據需要進行配置。接下來介紹垃圾收集器的分類,方面你了解怎么為項目選擇合適的垃圾收集器。想學習的同學,建議參加java培訓,在專業老師和系統課程的帶領學習下,很快就能掌握了這部分的知識和技能。


        1.串行垃圾收集器


        串行垃圾收集器使用單個線程來執行所有垃圾收集工作,這使得它相對高效,因為線程之間沒有通信開銷。


        它最適合于單處理器機器,因為它不能利用多處理器硬件,盡管它在多處理器上對具有小數據集的應用程序很有用。串行垃圾收集器在某些硬件和操作系統配置上默認選擇,或者可以使用選項-XX:+UseSerialGC顯式啟用。


        串行GC將是不具有低暫停要求且在非常小的堆大小上工作的應用程序的最佳選擇。



        2.并行垃圾收集器


        并行垃圾收集器也稱為吞吐量收集器,是與串行垃圾收集器類似的分代收集器。串行垃圾收集器和并行收集器之間的主要區別在于并行收集器具有多個線程,用于加速垃圾收集。


        并行垃圾收集器適用于具有在多處理器或多線程硬件上運行的中型到大型數據集的應用程序。您可以使用-XX:+UseParallelGC選項啟用它。在java培訓中,會有關于垃圾收集器的相關知識的講解,感興趣的同學可以報名學習了解一下。


        并行壓縮是一種使并行垃圾收集器能夠并行執行主要收集的功能。在沒有并行壓縮的情況下,主要收集是使用單個線程執行的,這會極大地限制可伸縮性。如果已指定選項-XX:+UseParallelGC,則默認情況下啟用并行壓縮。您可以使用-XX:-UseParallelOldGC選項禁用它。


        并行垃圾收集器將是吞吐量比延遲更重要的最佳選擇。在可以接受長暫停的情況下,可以使用并行垃圾收集器,例如批量數據處理或批處理作業。


        3.并發垃圾收集器


        并發標記掃描(CMS)收集器和垃圾優先(G1)垃圾收集器是兩個主要并發的收集器。這些收集器與應用程序并行執行一些昂貴的工作,因此它們大多被稱為并發收集器。



        CMS收集器


        CMS收集器在需要低垃圾收集暫停的應用程序環境中是首選的,并且可以在應用程序運行時與垃圾收集器共享處理器資源。當應用程序中的長壽命世代較高時,或者在有兩個或多個處理器的機器上運行時,此收集器基本上提供了更多的好處。CMS收集器可以通過選項-XX:+UseConMarkSweepGC啟用。參加java培訓,可以學到全方位的java知識和技能,而且還有實戰項目操作訓練,積累項目經驗,以便快速上崗。


        CMS收集器在JDK 9中不再受歡迎,建議使用垃圾優先(G1)收集器。


        G1垃圾收集器


        G1是用于具有大量內存的多處理器機器的服務器樣式收集器。它以很高的概率滿足垃圾收集暫停時間目標,同時在不需要配置的情況下實現高吞吐量。默認情況下,在某些硬件和操作系統配置上選擇G1,或者可以使用-XX:+UseG1GC顯式啟用G1。


        G1主要通過疏散來回收空間:在要收集的選定內存區域中找到的活動對象被復制到新的內存區域,并在此過程中進行壓縮。疏散完成后,先前由活動對象占用的空間將被應用程序重新分配。


        對于高級語言來講,因為不斷的創建對象,如果不清理,遲早內存會滿。所以需要清理不要的垃圾。了解這些垃圾收集器的特性有助于你為開發項目選擇合適的垃圾收集器,保障程序正常運行。想學習這方面內容的同學,可以報名參加java培訓,可以獲得快速提升。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲人成αⅴ网站在线 | 在线免费亚洲天堂AV影院 | 亚洲欧洲日韩淙合久久 | 玖玖在线播放玖玖九九 | 综合国产精品2022 | 在线观看免费h视频网站 |