728x90
반응형
2편 : https://developer-youn.tistory.com/125
3편 : https://developer-youn.tistory.com/126
4편 : https://developer-youn.tistory.com/127
0. 목표
jvm이 뭔지, 종류가 뭔지 알아간다.
1. java의 근본적인 철학
WORA
Write Once Run Anywhere
한번 만들어두면 어디서든 실행할 수 있게 한다. 이게 무슨 말일까.
1-2. jvm == java virtual machine
말 그대로 java에 대한 가상 머신이다. 이 가상머신을 통해 우리가 작성한 java코드를 실행할 수 있다.
즉 jvm이 올라갈 수 있는 환경이면 어디서든 java코드를 실행할 수 있다는 말과 동일해진다.
2. java 코드가 수행되기까지
우리가 작성한 코드가 실행되기까지의 전반적인 구조는 아래 그림들과 같다.
- 우리가 만든 java 코드는 너무 상위 레벨로 작성되어 있어서 아직 jvm이 이해할 수 없다. 그래서 javac라는 도구의 힘을 빌려. class파일을 만든다.( javac는 jvm의 기능이 아니다.)
- 이때. class파일에는 byte code의 형태로 존재한다.
- 이렇게 만든. class파일은 이제 jvm이 읽을 수 있는 글이 되었다. 그 파일들을 잘 읽어 들여서 수행해 주는 게 jvm의 역할이다.
3. jvm의 종류
jvm은 명세만 잘 맞추어주면 직접 만들 수 있다. 대표적으로는 hotspot jvm, dalvik jvm이 있다.
- hotspot은 우리가 전통적으로 사용하는 java개발환경에서 사용한다.
- dalvik은 과거 android에서 사용했다.
contact : dev.berno@gmail.com
728x90
반응형
'JAVA > java - core' 카테고리의 다른 글
throw에 대한 간단한 설명과 개인적인 생각 (0) | 2023.02.26 |
---|---|
jvm 조금씩 알아가기 4편 - 실행 엔진(Execution Engine) (0) | 2023.02.22 |
jvm 조금씩 알아가기 3편 - 데이터 영역(Runtime Data Areas) (0) | 2023.02.19 |
jvm 조금씩 알아가기 2편 - 클래스 로더(class loader) (0) | 2023.02.18 |