목록Skill/JAVA (2)
여름의 서재
💡 Garbage Collection 이란? : 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능. 💡 Stop The World : GC 실행을 위해 JVM이 애플리케이션 실행을 멈추는 것이다. GC가 실행 될 때는, GC를 실행하는 쓰레드를 제외한 모든 스레드들이 작업을 멈춘다. GC 작업이 완료한 이후에야 중단했던 작업을 다시 시작한다. 대개의 경우 GC 튜닝이란 이 stop-the-world 시간을 줄이는 것을 말한다. 💡 GC 동작 방식 : GC의 과정을 Mark and Sweep이라고도 한다. GC가 스택의 모든 변수 또는 Reachable 객체를 스캔하면서 각각 어떤 객체를 참조하고 있는지 찾는 과정이 Mark라고 한다. 이 ..
💡 JVM 이란? : 자바가상머신. 자바와 운영체제 사이에서 중개자 역할을 수행하여, 자바가 운영체제에 구애 받지 않고 프로그램을 실행 할 수 있도록 도와줌. 또한 가비지 컬렉터를 사용한 메모리 관리도 자동으로 수행. 💡 자바 프로그램의 실행과정 자바 컴파일러를 통해 자바 클래스 파일(.java)를 자바바이트코드(.class)로 변환한다. 클래스 로더를 통해 자바 바이트코드를 JVM 런타임 데이터 영역에 로드한다. 실행 엔진을 통해 실행한다. 💡 JVM 메모리 구조 1. Class Loader(클래스 로더) : JVM 내로 클래스 파일을 로드하고, 링크를 통해 작업을 수행하는 모듈. 런타임 시에 동적으로 클래스를 로드함. 2. Execution Engine(실행 엔진) : JVM 내의 Runtime 데이..