-
[자바(JAVA)] JVM, JRE, JDK란? / 바이트 코드, 인터프리터, JIT 컴파일러, 클래스 로더, 가비지 컬렉터, 디버깅JAVA 2023. 5. 22. 23:58728x90
자바를 배워야 하는 이유
: 현재 가장 많이 사용중인 개발언어 중 하나이며 장점을 아래와 같다.
- 공통 실행환경(JVM)이 있어서 여러 기기에서 실행이 가능함(=여러 운영체제에서 실행가능)
- 코드를 이해하고 유지보수가 쉽다(객체지향언어)
- 안정성이 높아서 프로그래밍 오류를 방지하고 보안상 안전하다
- 다양한 개발도구와 라이브러리를 사용할 수 있다.
JVM(Java Virtual Machin) 자바 가상 머신
여러가지의 기기위에서 Java 프로그램을 구동될 수 있는 가상의 기기를 만들어주는 것
➡️PC,모바일,서버 등등 환경에 상관없이 JVM을 설치하면 Java 구동이 가능함
🔻JVM에서 프로그램이 동작하는 흐름:
- 짜놓은 .java을 Java컴파일러가 바이트 코드(.class)로 변환
- 클래스 로더가 JVM메모리 영역으로 운반함
- 인터프리터+JIT컴파일러로 .class파일이 가지고 있는 바이트 코드를 기계어로 번역
- 실행시스템으로 이관 후 프로그램 출력
🔹바이트 코드
= Java 프로그램 변환코드
- Java 파일은 사람이 이해할 수 있는 방법(.Java)으로 코딩되었기 때문에 운영체제가 이해할 수 있는 언어(.class)로 변환이 필요함.
- 내가 작성한 코드를 운영체제가 읽을 수 있는 코드로 변환된 것을 바이트 코드라고 한다.
🔹인터프리터
- 바이트 코드를 기계어로 번역함
🔹JIT 컴파일러
- 인터프리터의 효율을 높여주는 서포터 컴파일러
🔹클래스 로더
바이트 코드를 메모리 영역에 운반하는 역할
🔹가비지 컬렉터
메모리 영역에서 사용하지 않는 변수, 객체등의 데이터를 효율적으로 처리함
🌟 개발환경 구성
JRE(Java Runtime Environment ) 자바 실행 환경
JRE 는 .class 파일로 변환만 가능함
*클래스 파일 실행 불가
JDK(Java Development Kit ) 자바 개발 키트
1. JRE의 기능을 포함하고 있으며
.java 파일들을 .class 파일들로 변환해주는 Java Compiler(javac) 기능이 있다.
2. 디버깅 기능 지원
- Java코드를 라인단위로 수행 혹은 중단점을 설정하여 코드를 상세하게 볼 수 있게 해준다.
*<디버깅>
어떤 부분을 검사할지 선택 후 오른쪽 위 디버깅 버튼으로 실행한다.
📌 JDK 요약
1. 컴파일러 역할(자바->클레스변환)을 함.
2. JRE의 기능을 포함함
3.디버깅 진행가능728x90'JAVA' 카테고리의 다른 글