# Shenandoah in OpenJDK 17 : 밀리초 미만의 GC Pause 구현

> Clean Markdown view of GeekNews topic #5037. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=5037](https://news.hada.io/topic?id=5037)
- GeekNews Markdown: [https://news.hada.io/topic/5037.md](https://news.hada.io/topic/5037.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-09-18T10:40:27+09:00
- Updated: 2021-09-18T10:40:27+09:00
- Original source: [developers.redhat.com](https://developers.redhat.com/articles/2021/09/16/shenandoah-openjdk-17-sub-millisecond-gc-pauses)
- Points: 7
- Comments: 2

## Topic Body

- Shenandoah Garbage Collection 프로젝트는 GC시에 일시 중지 시간을 줄이는 것이 목표

ㅤ→ Concurrent 처리를 통해서 응답성을 높임

ㅤ→ JDK12 : Concurrent Heap Evacuation 을 도입해서 앱 중지없이 힙 청소 가능

ㅤ→ JDK14 : Concurrent Class Unloading

ㅤ→ JDK16 : Concurrent Reference Processing

ㅤ→ JDK17 : Concurrent Thread-stack Processing 도입으로 밀리초 미만의 Pause가 가능해짐

## Comments



### Comment 6862

- Author: alstjr7375
- Created: 2021-09-18T15:55:12+09:00
- Points: 3

ZGC도 꽤 유명하더라고요.

- https://blogs.oracle.com/javamagazine/post/understanding-the-jdks-new-superfast-garbage-collectors

다만, 변수의 포인터에서 64bit를 활용해(https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fle5G4%2FbtqMn5uRx4Y%2FKoZMBBKFBO8ikzeruyNFI1%2Fimg.png) 64비트 운영체제에서만 사용가능합니다.

- https://huisam.tistory.com/entry/jvmgc

예전에 스크립트 언어 VM 성능관련해서 찾아봤었는데,

JS의 V8 경우는 다음과 같은 원리라고 하네요.

- https://v8.dev/blog/concurrent-marking

- https://v8.dev/blog/orinoco

- https://v8.dev/blog/trash-talk

- https://v8.dev/blog/high-performance-cpp-gc

### Comment 6860

- Author: xguru
- Created: 2021-09-18T10:41:07+09:00
- Points: 2

Shenanadoah gc의 특징과 간단한 알고리즘에 대한 소개

- https://dev-punxism.tistory.com/entry/Shenandoah-gc

- https://meetup.toast.com/posts/234

전 쉐넌도어는 Take Me Home Country Road 노래 가사로만 접해봤는데..
