본문 바로가기
Java

[JAVA] 메모리 & 실행 구조

by 겅아링 2020. 4. 6.
반응형

 

운영체제에 의해 할당되는 메모리 구조

자바는 컴파일을 하게되면 바이트코드 파일을 생성한다

그것을 JVM으로 실행시키면 운영체제에 상관없이 실행할수 있다.

JVM - 바이트 코드를 각 운영체제게 맞게 인터프리터 방식으로 실행할 수 있도록 해주는 가상머신

 

메소드영역

: 바이트 코드 파일( ~.class) 을 실행하게 되면 바이트 코드가 메소드영역으로 올라감

 

스택영역 ( LIFO : Last In First Out)

: 메소드 호출시 메소드를 위한 공간을 생성

메서드안에서 사용되는 모든 변수들을 저장

메서드의 일이 끝나면 생성된공간은 삭제됌.

 

힙 영역

: 객체들이 생성되어 존재하는 공간

변수들(스택영역에 존재)이 힙영역에 존재하는 객체들의 주소를 가르킨다(참조)

 

 

 

 

실행 구조

 

Class Loader : 바이트 코드를 메모리내의 메소드 영역에 올려주는 프로그램

Byte Code Verifier : 바이트 코드를 검증

Just In Time Complier : 한번에 컴파일 (인터프리터 속도가 느려서 만들어짐)

반응형

'Java' 카테고리의 다른 글

[JAVA] 접근제어자  (0) 2020.04.12
[JAVA] 변수와 메모리  (0) 2020.04.07
[JAVA] 데이터 타입  (0) 2020.04.05
[JAVA] 연산자  (0) 2020.04.04
[JAVA] 변수  (0) 2020.04.03