'gc'에 해당되는 글 1건

  1. 2015.06.01 GC

GC

java core 2015. 6. 1. 11:39

GC(Garbage Collection)에는 serial방식과 Parallel방식이 있는데

single thread (32bit window)등 특수환경에서만 serial방식이 쓰이고, 대부분 Parallel 방식이 쓰인다.

serial방식의 경우, 어플리케이션을 freezing시켜 버린다.



GC의 중요한 2가지 기능별 분류:


CMS GC(concurrent-mark-sweep) :

  - 동시에 여러Thread를 이용해서 mark하고 sweep.

  - 일반적으로 STW(Stop-The-World)를 유발하지 않지만 아래2가지 경우 STW 발생가능..

       a. Initial Root 마킹

       b. 동작중에 앱의 heap 상태 변경으로 재구동 필요시



G1 GC(Garbage first Collector - JDK1.7u4 에서 4GB 이상 heap을 우선처리하기 위해 등장 함) 

 - JDK1.8u20 에서는 string dup제거 로직도 추가됨



추가로,

Java8에선 PermGen (class 메타데이타 저장소)가 없어짐. OOM을 많이 유발하던 부분임.


참고사이트:



CMS GC의 버그는 1.7에서 해결되었으며, 
G1 GC의 버그는 1.8에서 해결됨. :  슬라이드 30페이지

Posted by yongary
,