4차산업혁명의 일꾼/Java&Spring웹개발과 서버 컴퓨터

우아한테크코스 - JVM Specification & Garbage Collection

르무엘 2023. 6. 28. 01:05

[10분 테코톡] 🎹 김김의 JVM Specification - YouTube

 

우아한테크코스 - JVM Specification 

 

JVM~!  소프트웨어의 형태

누구든 JVM을 만들수 있으며 형태에는 제한이 없다.

JVM 구조도에 가비지 컬렉션 언급은 없다. 이것은 Vendor에게 가비지 컬렉션은 알아서 최적화 해라. (추상)는 뜻으로 간주한다.

 

[10분 테코톡] 🤔 조엘의 GC - YouTube

GC는 메모리 관리기법으로 동적으로 할당했던 메모리(Heap영역) 영역 중 필요없게 된 영역을 알아서 해제

메모리 누수 멈추나, GC작업은 순수 오버헤드라 개발자는 언제 GC가 메모리를 해제하는 지 모른다. 이것은 실시간성이 매우 강조되는 프로그램의 경우 GC가 맞지 않을 수 있다.

GC알고리즘 - Reference Counting 는  referece count 가 0이되면 gc 대상이 된다. 순환 참조 문제가 있다.

Mark And Sweep 알고리즘은 루트부터 그래프 순회를 통해 연결된 객체들을 찾아내고 연결이 끊어진 객체들은 지우는 방식이다. (의도적으로 GC가 실행되어, 어플리케이션 실행과 GC실행이 병행되어 꽤나 어려운 최적화 작업이다.

 

 

 

 

JVM의 GC 와 튜닝 :

 

LIST