JVM

HotspotJVM 버전별 기본 Garbage Collector 알고리즘 정리

_su_min 2024. 12. 8. 14:51

안녕하세요.
 
요즘 JVM Garbage Collector 에 대해 공부를 하면서 GC 알고리즘에 대해 알게되었는데요.
 
그러다 문득 JVM 버전마다 기본 GC 알고리즘이 무엇인지 궁금해졌어요.
 
그래서 구글링을 열심히 해보았는데 오라클 공식사이트에는 제대로 된 내용이 잘 안보이더라구요.
 
스택오버플로에서 정리해준 내용이 있긴 하지만 직접 눈으로 봐야 속이 시원하기 때문에 제 노트북 콘솔에서 확인해보려해요.
 


 

1. Hotspot JVM 설치

 
우선 오라클 홈페이지에서 Jdk 를 버전별로 다운받았어요.
 

 
그리고나서 각 Jdk 를 설치해주었어요.
 
설치를 완료하고나니 C:\Program Files\Java 경로에 아래처럼 폴더가 생겼어요.
 

 
jdk 폴더를 기준으로 JVM GC 알고리즘을 확인해볼게요.
 
 

2. Hotspot JVM 버전별 GC 알고리즘 확인

 
Java 의 GC 알고리즘은 아래 명령어로 확인할 수 있어요.
 

java -XX:+PrintCommandLineFlags -version

 
그러면 각 JVM 별로 위 명령어를 실행한 결과를 확인해볼게요.
 

  •  java 7

ParallelGC

 

  • java 8

ParallelGC

 

  • java 9

G1GC

 

  • java 10

G1GC

 

  • java 11

G1GC

 

  • java 12

G1GC

 

  • java 13

G1GC

 

  • java 14

G1GC

 

  • java 15

G1GC

 

  • java 16

G1GC

 

  • java 17

G1GC

 

  • java 18

G1GC

 

  • java 19

G1GC

 

  • java 20

G1GC

 

3. 내용 정리

 
아래는 java 버전 7부터 버전 20까지 확인한 결과예요.
 

JVM Version Default GC Algorithm
7, 8 ParallelGC
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 G1GC

 
이상으로 JVM GC 기본 알고리즘에 대해 알아보았어요.
 
끝까지 읽어주셔서 감사해요. 😁