728x90 Java2 JVM GC에 대해 알아보자. (G1GC) G1GCG1GC는 대용량 메모리로 확장되는 멀티 프로세서 머신을 대상으로 설계되었다. 별도 구성 없이 높은 처리량을 달성하는 동시에 높은 확률로 적은 STW(Stop the world) 시간을 목표로 충족하려고 시도한다. G1GC는 아래와 같은 특징을 갖춘 애플리케이션을 대상으로 latency와 처리량 간의 최적의 균형을 제공하는 것을 목표로 한다.최대 수십GB 이상에 달하는 heap, heap의 50% 이상이 라이브 데이터로 차지된다.시간이 지남에 따라 크게 달라질 수 있는 객체 할당 및 프로모션 비율heap에 상당히 많은 조각화가 있다.몇백 ms를 넘지 않는 예측 가능한 일시 정지시간을 목표로 하여 긴 가비지 수집 일시 중지를 방지한다. 메모리 구조G1은 다른 GC와 마찬가지로 Heap을 Young과.. 2025. 9. 21. JVM GC에 대해 알아보자. (Serial GC & Parallel GC) Garbage CollectorGarbage Collection는 JVM에서 자바의 메모리를 관리하는 방법으로, 애플리케이션에서 더 이상 참조되지 않는 객체의 메모리를 회수하는 자동 메모리 관리 방식이다. 자바 애플리케이션을 개발할 때 new 연산자를 사용하여 객체를 생성하게 된다.void newPerson() { Person p = new Person(20, "beer1"); ...} 이 때 p라는 객체는 Heap이라는 메모리 영역에 저장된다.main() 메서드에서 해당 메서드를 호출한다면, Stack 영역에서는 main StackFrame 위에 newPerson() 에 해당하는 StackFrame이 생성되고, p라는 변수를 할당했으니 newPerson() StackFrame에 p 객체 주소.. 2025. 9. 20. 이전 1 다음 728x90