GC
-
Java Garbage Collection카테고리 없음 2016. 11. 25. 20:49
지난 포스팅에서 Java Garbage Collection 에 대한 기본적인 구조와 개념을 살펴보았지만, 포스팅 내용이 다소 부실하여 내용을 좀 더 보충하려고 한다. 가비지 컬렉션 과정 - Generational Garbage Collection GC에 대해서 알아보기 전에 알아야 할 용어가 있다. 바로 'stop-the-world'이다. stop-the-world란, GC를 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것이다. stop-the-world가 발생하면 GC를 실행하년 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘다. GC 작업을 완료한 이후에야 중단했던 작업을 다시 시작한다. 어떤 GC 알고리즘을 사용하더라도 stop-the-world는 발생한다. 대개의 경우 GC 튜닝이란 이 s..
-
Java GC(Garbage Collection) 동작 방식카테고리 없음 2016. 11. 25. 20:25
Java 관련 코드를 정리하는중 IO와 관련한 클래스 인스턴스들의 close() 호출처리를 개선하게 되었다. 그러다 문득, IO관련된 인스턴스들은 Resource leak 때문에 close를 반드시 호출해야 한다고 알고 있었는데, 그러면 close되지 않은 즉, 메모리에 올려진 인스턴스들을 처리하는 Java GC(Garbage Collection)이라는 것은 어떻게 동작하는지 궁금해 구글링을 통해 자료들을 정리하여 보았다. Java에서 명명하는 memory leak 에 대한 명쾌한 설명 http://stackoverflow.com/a/22889202 Garbage Collection 특징 ( 이하 GC로 표기 ) 1) 객체들은 힙에 생성된다. 2) GC는 GC 대상이 되는 객체들을 힙에서 제거하기 위해 ..