반응형
자바는 컴파일을 하게되면 바이트코드 파일을 생성한다
그것을 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 |