Generational GCSerial, Parallel, CMS, G1 등 gc가 여러개임Java Virtual Machine에서compaction 수행하고 [JVM Internal] JVM 메모리 구조JVM(Java Virtual Machine)을 어떻게 정의할 것인가 고민하기에 앞서 기본적 JVM 원어로부터 알아보겠습니다. JVM은 물리적인 형태가 아닌 소프트웨어로서 하나의 개념으로 존재합니다. 이것이 "VIRTUAL"을 뜻하는 것입니다. 그리고 JVM은 독자적으로 작동할 수 있는 메커니즘과 구조를 가지고 있습니다. 이는 하나의 축약된 컴퓨터와 같은 의미에서 "MACHINE"이라는 단어가 조합된 것입니다.https://12bme.tistory.com/382Go 언어의 GC에 대해 - LINE ENGINEERING안녕하세요, LINE Ads Platform 개발을 담당하고 있는 Okada(@ocadaruma)입니다. 이번 포스팅에서는 개인적으로 쭉 관심있었던 Go 언어의 가비지 컬렉션(Garbage Collection, GC)에 대해 조사한 내용을 소개하겠습니다. Go 언어 Go 언어는 Google에서 개발한 시스템 프로그래밍 언어입니다. Channel을 통해 동시성(concurrency)을 지원하고 GC를 제공한다는 점이 특징입니다. Google을 비롯한 많은 기업에서 사용하고 있으며, LINE에서도 Go로 개발하는 도구나 서비스가 많이 있습니다.https://engineering.linecorp.com/ko/blog/go-gc/ accessible from outside heap힙이 아닌 다른 어딘가에서 접근 가능한 object이 Root에는 대표적으로, local 변수, Thread, System class 등이 있어요 java : 도달 가능한 객체가 무엇일까요?Java에는 가비지 콜렉터가 있습니다. 이것이 어떻게 동작하는지는 추후에 쓸 기회가 있을 듯 싶습니다. 여기에 등장하는 용어들이 무엇인지에 대해서 간단하게 짚고 넘어가 보도록 하겠습니다. Reference 클래스는 사실, gc를 설명하기 위해 굉장히 중요한 키워드 중 하나이지만, 여기에서는 다루지 않겠습니다. 먼저 Reachability가 뭘까요? 도달이 가능하다는 것입니다. 그러면 Reachable Object는 도달 가능한 객체 정도로 해석하면 될 겁니다.https://codingdog.tistory.com/entry/java-%EB%8F%84%EB%8B%AC-%EA%B0%80%EB%8A%A5%ED%95%9C-%EA%B0%9D%EC%B2%B4%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C%EC%9A%94