가비지 컬렉션의 필요성 프로그램이 실행되는 동안 계속해서 객체를 생성하면 메모리 사용량이 증가합니다. 사용하지 않는 객체들이 메모리를 계속 차지하게 되면, 결국 사용 가능한 메모리가 고갈되어 시스템의 성능이 저하되거나, 최악의 경우 프로그램이 중단될 수 있습니다. 가비지 컬렉션은 이러한 문제를 방지하기 위해, 사용되지 않는 메모리를 자동으로 회수하여 효율적인 메모리 사용을 가능하게 합니다. 가비지 컬렉션의 작동 원리 자바 가상 머신(JVM) 내에서 가비지 컬렉션은 주로 '마킹'과 '삭제'의 두 단계로 이루어집니다. 마킹(Marking): 가비지 컬렉터는 루트 세트(Root Set)에서부터 시작하여, 참조되는 객체들을 추적합니다. 추적 과정에서 도달할 수 없는 객체들을 가비지로 식별합니다. 삭제(Delet..
지역 변수 타입 추론 (Local-Variable Type Inference) Java 10에서 가장 주목받는 기능 중 하나는 var 키워드를 통한 지역 변수의 타입 추론입니다. 이를 통해 개발자는 변수의 타입을 명시하지 않고도 값을 할당할 수 있게 되어, 코드의 가독성과 간결성이 크게 향상됩니다. var list = new ArrayList(); // 컴파일러가 ArrayList으로 추론 var stream = list.stream(); // 컴파일러가 Stream으로 추론 개선된 컨테이너 지원 Java 10은 Docker와 같은 컨테이너 환경에서 Java 애플리케이션을 실행할 때 JVM의 자동 감지 및 리소스 할당 최적화를 제공합니다. 이는 컨테이너에 할당된 CPU와 메모리 리소스에 따라 JVM을 자..
JVM이란 자바 프로그램을 실행하는 방법이다. JVM의 설정을 구성한 다음 설정사항에 따라 실행 중에 프로그램 리소스를 관리한다. JVM 특징 스택 기반의 가상 머신 심볼릭 레퍼런스 가비지 컬렉션(garbage collection) 기본 자료형을 명확하게 정의하여 플랫폼 독립성 보장 네트워크 바이트 오더(network byte order) 참고자료: https://catsbi.oopy.io/df0df290-9188-45c1-b056-b8fe032d88ca [1주차] JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. 목표 catsbi.oopy.io