Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바
- forNmae()
- redux
- 리덕스 공식문서
- EBS
- exiting abnormally
- 자료구조
- 컴포넌트 주도
- VUE
- .getClass()
- 오라클
- vue.js
- quert
- AWS
- 리덕스
- Java Reflextion API
- 트리 회전
- 도커빌드
- Express
- $emit()
- 커스텀 로그인
- 리액트
- 애그리거트
- react
- paraller
- 네임드 뷰
- rabbitmq 에러
- 오라클 병렬처리
- ACCESS_REFUSED
- REDIS
Archives
- Today
- Total
개발정리
자바 컴파일 과정 본문
자바 코드 실행 과정

자바 컴파일 순서
자바는 os에 독립적인 특성을 가지고 있다.
->JVM때문!
1.개발자가 자바 소스코드(.java)를 작성합니다.
2.자바 컴파일러가 자바 소스코드를 읽어 바이트 코드(.class)로 컴파일 합니다.
3.컴파일된 바이트코드를 JVM의 클래스로더 에게 전달합니다.
4.클래스 로더는 동적로딩을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역,즉 JVM의 메모리에 올립니다.
5.실행엔진은 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행합니다.
->이때 실행 방식은 두가지!
1.인터프리터:바이트 코드 명령어를 하나씩 읽어서 해석하고 실행
2.JIT컴파일러:바이트 코드 전체를 컴파일 하여 바이너리 코드로 변환 후 실행
JVM 구조

클래스 로더

실행 엔진
클래스 로더에 의해 JVM으로 로드된 바이트 코드들은 runtime data areas의 method area에 배치됩니다.
배치된 이후 JVM은 Method area의 바이트 코드들을 실행 엔진에 제공 하여 실행 시킵니다.
'JAVA' 카테고리의 다른 글
Java Reflection _ class (0) | 2024.04.16 |
---|---|
Java Reflextion API 개요 (0) | 2024.04.15 |