728x90
.Java와 .class란?
먼저 다음 개념들을 살펴보자.
- .Java : 확장자가 java인 인간이 작성한 소스 코드 파일
- .class : 소스 코드 파일인 .java 파일을 자바 컴파일러를 통해 byte code로 변환한 byte code 파일
- JVM : 자바 컴파일러가 변환한 .class(bytecode)를 실행시키는 프로그램
시나리오
1. 결국 자바 컴파일러가 우리가 작성한 코드를 JVM이 읽을 수 있도록 .class 파일로 변환시켜준다.
2. JVM은 이제 .class 파일을 실행시켜 OS가 읽을 수 있도록 해주는 것이다. (JVM이 targetcode를 로드하고 필요한 기능 OS 호출하여 OS가 하드웨어를 제어한다.)
JVM에 더 자세히 알고 싶으면 다음 링크를 참고하고 추가적으로 Code의 종류와 자바컴파일러에 대해 간략히 살펴보자.
자바컴파일러와 Code 종류
- source code : 원본 소스 코드. 인간이 작성
- byte code : 특정 프로그램이 이해하도록 소스코드가 변환된 형태. VM없이 실행 불가. VM만 있으면 어느 OS에서든 가능
- native code : 기계어 코드로 특정 OS에서만 실행할 수 있는 코드
- 자바 컴파일러(Java Compliler) : 기계가 알 수 있는 bytecode로 변환하는 프로그램, source -> bytecode
오늘 성장에 도움을 주신 개발자분
출처 : https://blog.wanzargen.me/10
오늘도 감사합니다.
728x90
'개발 > Java' 카테고리의 다른 글
[다시 공부하는 Java] Stream API (0) | 2023.04.18 |
---|---|
java.util.Optional<T> 이란? (0) | 2021.12.22 |
JAVA 성능 향상 시키기 (2) | 2021.08.11 |
[Java] StringTokenizer란? (0) | 2021.08.02 |
JVM(Java Virtual Machine) 이란? (2) | 2021.06.24 |
댓글