* 장점
- 객체 지향 언어로 클래스 계층 구조, 상속성, 다형성 ,캡슐화 지원
- 하드웨어, 운영체제 종류와 관계없이 독립적 실행이 가능
* 단점
- 프로그램 개발 시 발생할 수 있는 예외를 직접 처리해야하며, 그렇지 않으면 컴파일 시에 오류가 발생
- JVM에 의해 기계어로 번역되고 실행되는 과정을 거치기 때문에, 컴파일 되자마자 기계어로 변환되는 C, C++에 비해 속도가 느림
(JIT 컴파일 또는 동적번역 기술 발전으로 차이가 줄어들었다고는 함)
인터프리트 방식 - 프로그램 실행 중 소스를 읽어가며, 그에 해당하는 기계어 코드를 실행
정적 컴파일 방식 - 실행 전에 프로그램 코드를 기계어로 번역
JIT 컴파일 - 위의 두가지 방법을 혼합. 실행 시점에서 인터프리트 방식으로 기계어 코드를 생성하면서 그 코드를 캐싱하여, 같은 함수가 여러번 불릴 때 매번 기계어 코드를 새로 생성하는 것을 방지
자바 컴파일러가 자바 프로그램 코드를 바이트 코드로 변환, 실제 바이트 코드를 실행하는 시점에서 JVM이 바이트 코드를 JIT 컴파일을 통해 기계어로 변환
반응형
'개발 > 자바' 카테고리의 다른 글
기본 타입 (0) | 2022.09.07 |
---|---|
자바의 상수 (0) | 2022.09.05 |
자바 프로그램 1(기본 구조, 변수) (0) | 2022.09.04 |
자바 실행순서 및 프로그램 (0) | 2022.09.04 |
자바의 특징 (0) | 2022.09.01 |
댓글