본문 바로가기
개발/Java

.class와 .java 확장자

by 방구쟁이 2021. 7. 21.
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

댓글