內存抖動
內存抖動是因為大量的對象被創建又在短時間內馬上被釋放,如循環中分配對象,很容易引起GC,特別是在較大的循環次數或者一個循環中分配較多的臨時對象時。
瞬間產生大量的對象
瞬間產生大量的對象,即使對象不大,也可能使得堆的可用空間達到閾值出發GC或導致堆的擴容產生GC。
分配大內存塊的對象
分配大內存塊的對象,如圖片,大的byte數組等,雖然堆剩余內存空間足夠,但是仍然可能出發GC,因為內存碎片導致了找不到連續空間來分配這大內存,從而出發GC。
內存泄露
內存泄露,會導致可用內存越來越少,而且導致碎片也可能越來越嚴重,這樣就更加容易出發GC。
