[Java] JVM 알아보기 - (4) JVM GC, Heap
2022. 11. 27. 23:51
Java
내가 만든 자바 코드가 어떤 과정으로 실행되는지 알아보기 위한 "JVM 알아보기" 네 번째 포스팅입니다. 이번 포스팅에서는 JVM 의 GC 와 Heap 에 대해서 알아보겠습니다. JVM GC(Garbage Collection) 개발자는 직접 자바의 메모리 관리를 하지 않아도 된다. 메모리 관리를 JVM 이 알아서 하기 때문인데, JVM 내에서 메모리 관리를 해주는 것을 가비지 컬렉터 라고 부른다. 가비지 컬렉터는 힙에서 사용 가능한 모든 객체를 추적하고 사용하지 않는 객체에 할당 된 메모리를 해제한다. 이 작업을 가비지 컬렉션, GC 라고 한다. GC 의 프로세스를 알아보기 이전에, 먼저 GC 와 관련 된 개념들을 정리해보자. UnReachable Object 유효한 참조가 없는 객체를 UnReachab..
[Java] JVM 알아보기 - (1) JDK, JRE, JVM
2022. 11. 16. 00:08
Java
내가 만든 자바 코드가 어떤 과정으로 실행되는지 알아보기 위한 "JVM 알아보기" 포스팅입니다. 이번 글은 JVM 의 동작 방식을 알아보기 이전에 JDK, JRE, JVM 의 개념을 정리해보겠습니다. JDK(Java Development Kit) Java 프로그램 개발에 사용되는 소프트웨어 개발 환경 키트다. JRE, 인터프리터/로더, 컴파일러(javac), 아카이버(jar) 등 Java 개발에 필요한 기타 도구가 포함된다. JRE(Java Runtime Environment) 개발할 수 없는, 실행만을 위한 환경이다. Java HotSpot 클라이언트 및 서버 가상 머신을 포함한 JVM 과 각종 라이브러리 등으로 구성된다. JVM(Java Virtual Machine) 보통 자바 프로그램이 수행되는 프..