GC之ParallelGC和ConcMarkSweepGC的理解

    能夠先讀這篇國外的文章,https://www.cubrid.org/blog/understanding-java-garbage-collectionhtml

                 

                                                                    圖1 ParallelGCjava

               

                                                                    圖2 CMSapp

    一直困惑ParaellGC與CMS的區別,今天看到這倆張圖,忽然以爲倆者的區別在於:線程

  1. ParaellGC是Stop the application,以後多個線程去收集可回收的內存,以後執行回收操做,關鍵點是:確認哪些內存能夠回收、以後再回收,倆個操做都在Stop application後才執行的。
  2. CMS也是Stop the application,可是:初始標記,確認哪些內存能夠被回收是與業務線程同時執行的;以後是從新標記階段,這個階段會Stop the application;以後是回收階段,這個階段是和業務線程同時執行着的。

CMS的也能夠結合着看看這篇:https://www.cnblogs.com/Leo_wl/p/5393300.htmlhtm

相關文章
相關標籤/搜索