Replies: 2 comments 1 reply
-
GC란? 자바의 메모리 관리 방법 중 하나로 JVM의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체를 모아 주기적으로 제거하는 프로세스 C/C++과 달리 Java에서는 가비지 컬렉터가 메모리 관리를 대행해주기 때문에 개발자가 메모리 누수 문제에 대해 관리하지 않고, 개발에만 집중할 수 있다. 다만, **메모리가 언제 해제되는지 정확하게 알 수 없어 제어하기 힘들며, GC가 동작하는 동안 다른 동작을 멈추기 떄문에 오버헤드가 발생하는 문제점(Stop-The-World)**이 있다. GC 대상 가비지인지 판단하기 위해 도달성이라는 개념을 적용한다.
JVM 메모리에서 객체들은 실질적으로 Heap 영역에서 생성되고, Method Area나 Stack Area에서는 Heap Area에 생성된 객체의 주소만 참조하는 형식으로 구성된다. 이때, Heap 영역에서 참조하고 있지 않은 객체들이 발생하면 가비지 컬렉터가 주기적으로 제거한다. heap 메모리 구조
GC 방식
|
Beta Was this translation helpful? Give feedback.
1 reply
-
G1 GC는 왜 등장했을까? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
.
Beta Was this translation helpful? Give feedback.
All reactions