안녕하세요.
요즘 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

- java 8

- java 9

- java 10

- java 11

- java 12

- java 13

- java 14

- java 15

- java 16

- java 17

- java 18

- java 19

- java 20

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 기본 알고리즘에 대해 알아보았어요.
끝까지 읽어주셔서 감사해요. 😁
