본문 바로가기

BE/JVM2

가비지 컬렉터와 메모리 할당 전략 - 1. 죽은 객체 판단 1. 그걸 왜 알아야 하는데?프로그램을 운영하다 보면, 메모리 오버플로와 누수 문제를 해결해야 하는 상황이나 더 높은 동시성 달성을 위해 GC가 방해되는 상황이 옵니다. 저는 아직 그런 경험을 직접 해본 적은 없지만, 네이버나 배민 등 많은 기술블로그에서 해당 이슈를 확인할 수 있었습니다. https://d2.naver.com/helloworld/1326256https://techblog.woowahan.com/2628/ 도움이 될수도 있는 JVM memory leak 이야기 | 우아한형제들 기술블로그도움이 될지도 모르는 JVM memory leak 얘기인데 제목을 뭐라고 하지? 안녕하세요. 배민 플랫폼실 주문중계 시스템팀 오민철입니다. 이 글은 몇 줄의 코드와 어디서 걸렸는지 모를 dependency .. 2024. 12. 22.
JVM에서 객체 들여다보기 Java는 많이 사용하지만 Java 힙에서 객체 생성부터 전 과정에 대해서는 알지 못했습니다. 그래서 전 과정에 대해 구체적으로 알아보고자 합니다. 책 JVM 밑바닥까지 파헤치기의 내용을 참고했지만, 더 쉬운 이해를 위해 제가 각색하고 내용을 추가해봤습니다. 1. 객체 생성언어 수준에서는 단순히 new 키워드를 사용하면 됩니다.가상 머신 수준에서는 어떤 과정을 거쳐 객체가 생성될까요? JVM이 new 명령에 해당하는 바이트 코드를 만난다면, 이 명령의 매개변수가 상수 풀 안의 클래스를 가리키는 심벌 참조(Symbolic Reference)인지 확인합니다. 이 과정을 구체적으로 설명해보겠습니다. 먼저 아래와 같은 코드가 있다고 가정해보겠습니다.public class Example { public st.. 2024. 12. 17.