대표적인 컴파일 언어로는 C, C++ 이 있고, 인터프리터 언어로는 python이 있다.
그러면 Java는 컴파일 언어일까?
NO, 컴파일만 사용하지 않으므로, 컴파일 언어라고 할 수 없다. JVM에서 인터프리터를 사용하여 코드를 해석하는 과정이 있다.
1. A.java 이름의 자바파일을 A.class의 클래스 파일로 변환하는 과정이 javac인 컴파일러가 컴파일하는 과정
2. 자바를 실행했을 때, 바이트코드를 한 줄씩 읽고 해석하는 것을 인터프리터가 한다.
3. JVM에 존재하는 JIT(Just In Time) 컴파일러는 인터프리터의 속도부분에서 느리다는 단점을 보완하기 위한 것으로, 인터프리터가 운영체제에 맞는 기계어 코드로 생성할 때, 반복되는 작업이라면 해당 기계어 코드를 캐싱하는 역할을 수행한다.
'언어(Language) > JAVA' 카테고리의 다른 글
[JAVA] 예외(Exception)는 어디서 처리하는게 좋을까? (0) | 2024.07.24 |
---|---|
내가 생각하는 SOLID원칙 (0) | 2024.07.12 |
[JAVA] 생성자도 상속이 된다는 입장에서 쓰는 글 (0) | 2024.07.04 |
ERROR: Exception in thread "main" java.lang.ClassCastException (0) | 2024.05.23 |
[java/error] Exception in thread "main" java.util.IllegalFormatConversionException: f != java.lang.Integer (0) | 2023.01.24 |