jvm2 JVM(Java Virtual Machine)은 어떻게 동작할까? JVM(Java Virtual Machine): Java를 실행하기 위한 가상 컴퓨터우리가 작성하는 Java 코드, Java 소스 파일(. java)은 javac(Java 컴파일러)에 의해 바이트 코드 파일로 변환된다.(. class) 이러한 바이트 코드 파일을 로드하여 실행시키는 것이 JVM이다.JVM의 구조JVM의 주요 구성요소로 클래스 로더(Class Loader), 메모리 영역(Runtime Data Area), 실행 엔진(Execution Engine)를 가진다.클래스 로더(Class Loader)클래스 로더는 자바 클래스 파일(.class)을 로드한다. 프로그램 시작 시와 실행 중에 필요한 클래스를 메모리에 적재하는 역할을 한다.런타임 데이터 영역(Runtime Data Area)Jvm은 프로.. Java/일반 2024. 8. 14. GC(Garbage Collection)에 대해 알아보자 GC(Garbage Collection)이란?직역하자면 ‘쓰레기 수집’인데, Computer Science 분야에서는 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 ‘메모리 관리의 한 형태’를 말한다. 필요 없게 된 영역이란 의미는 어떤 변수도 가리키지 않게 된 영역을 의미한다.GC가 없다면 개발자는 직접 메모리를 해제해야 하기에, 각종 오류나 잠재적인 버그 발생의 위험이 있다.GC가 필요한 이유GC를 사용하지 않을 때 발생할 수 있는 문제점을 알아보자.메모리 누수(Memory Leak): 사용되지 않는 메모리가 해제되지 않아, 점점 사용 가능한 메모리가 줄어들 수 있다.더글라스 올린(Dangling Pointer): 이미 해제된 메모리 주소를 참조하는 포인터가 남아있는 .. Java/일반 2024. 8. 14. 이전 1 다음