If today was hard, tomorrow will be easy.

간결하고 의미있는 코딩을 위하여.

GitHub - Inchijeong 바로가기→
728x90
반응형

자바 3

[Java] 런타임 데이터 영역(Runtime Data Area)

JVM이 OS위에서 실행되면서 할당받는 메모리 영역이 바로 런타임 데이터 영역(Runtime Data Arae) 입니다. 이 영역은 크게 5가지 조금 세분화하면 6가지 영역으로 나눌 수 있습니다. 스레드 관점 스레드(Thread)마다 하나씩 생성 PC 레지스터(PC Register) JVM 스택(JVM Stack) 네이티브 메서드 스택(Native Method Stack) 모든 스레드가 공유해서 사용 (☆GC의 대상) 힙(Heap) 메서드 영역(Method Area) 각 영역 저장 값 메서드 영역: 클래스, 메서드, 클래스 변수(static), 전역변수 힙 영역: new 연산자를 통해 생성된 객체(인스턴스) 스택 영역: 지역변수, 매개변수, 리턴값, 참조변수 각 영역 역할 PC 레지스터(PC Regist..

Java 2021.04.19

[Java] JVM 동작 원리

Java는 OS에 독립적인 특징을 가지고 있습니다. 어떤 OS든 Java가 설치되어 있다면 실행할 수 있다는 말입니다. 그게 가능한 이유는 JVM(Java Vitual Machine) 덕분입니다. 자바 코드 실행 과정(요약) 소스 코드 작성 컴파일러가 소스코드를 바이트 코드로 변환 (컴파일 타임) 바이트 코드를 클래스 로더에 전달 (이후로는 런타임) 클래스 로더는 바이트 코드를 런타임 데이터 영역(JVM 메모리)에 올림 실행 엔진이 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 실행 자바 코드 실행 과정(상세) 개발자가 자바 소스(.java) 작성 자바 컴파일러(javac.exe)가 자바 소스(.java)를 바이트 코드(.class)로 바꿔줍니다.(빌드) .class 파일: 컴퓨터가 읽을 수 없고..

Java 2021.04.19
728x90
반응형