Java虛擬機(JVM)中常見的垃圾回收器有以下幾種:
1.Serial垃圾回收器:是最古老的垃圾回收器,它使用單線程來進行垃圾回收,在進行垃圾回收時會暫停應用程序的所有線程。
2.Parallel垃圾回收器:是Serial垃圾回收器的并行版本,使用多個線程來進行垃圾回收,可以顯著提高垃圾回收效率,但在進行垃圾回收時也會暫停應用程序的所有線程。
3.CMS(Concurrent Mark Sweep)垃圾回收器:是一種并發的垃圾回收器,可以在不暫停應用程序的情況下進行垃圾回收。CMS垃圾回收器主要針對的是響應時間敏感的應用程序。
4.G1(Garbage First)垃圾回收器:是一種基于區域的垃圾回收器,可以同時處理堆中的多個區域。G1垃圾回收器可以根據應用程序的實時情況動態調整垃圾回收策略,以最大限度地提高垃圾回收效率。
5.ZGC(Z Garbage Collector)垃圾回收器:是一種可擴展的低延遲垃圾回收器,可以在幾毫秒內處理數百兆或數千兆堆大小的垃圾回收。ZGC垃圾回收器采用了柔性實時策略,可以有效避免長時間的停頓。它是Java 11中新增的一種垃圾回收器。