垃圾收集器的選擇基于不同的需求。根據吞吐量、延遲和內存占用測量,可以選擇最適合其應用程序的GC收集器。參加java培訓,在短時間內盡快掌握垃圾收集器的相關知識,有助于你更好地進行開發工作。
吞吐量是長時間內未花費在垃圾收集上的總時間的百分比。吞吐量包括分配所花費的時間(但是,通常不需要調整分配速度)。例如,如果吞吐量為95%,則表示應用程序運行時間的95%和垃圾收集運行時間的5%。對于任何高負載業務應用程序,每個人都想要高吞吐量。
延遲是應用程序的響應能力。垃圾收集暫停會影響應用程序的響應能力。因此,延遲應該盡可能低,以獲得更好的應用程序性能。
內存占用是進程的工作集,以頁面和緩存線為單位。在物理內存有限或進程較多的系統上,內存占用可能決定可伸縮性。在java培訓中,也有關于內存管理和垃圾回收的相關課程,學好這些技能和知識,保障程序穩定運行。
垃圾收集器回收的重點區域是:Java堆和方法區。
垃圾收集器在對對象進行回收之前,需先判斷對象是“存活”著,還是已經“死去”(即不可能再被任何途徑使用的對象)。垃圾收集器只會對那些已經“死去”的對象進行回收。常用的判斷對象是否存活的算法有兩種:引用計數算法和根搜索算法。
因此,選擇正確的收集器完全取決于應用程序需求。需要明智地選擇應用程序的對象創建,并在具有預期生產負載的較低環境中進行適當的測試。想學習垃圾回收的使用技巧和方法,不妨報名參加java培訓,在專業老師和系統課程的指導教學下,可以快速提升自己。