JVM이란?
Java Virtual Machine의 약자로 자바 가상 머신입니다
여러가지 기기에서 프로그램을 실행하기 위해 가상의 기기를 만들어 주는것을 의미합니다
//OS에 종속받지 않고 CPU가 JAVA를 인식, 실행할 수 있게 하는 가상 컴퓨터
바이트코드 / 컴파일러
바이트코드: java 프로그램 변환 코드 / 개발자가 작성한 코드가 운영체제가 읽을 수 있는 코드로 java 컴파일러가 변환한 코드
컴파일러: 개발자가 작성한코드들을 운영체제가 읽을 수 있는 바이트코드로 변환하는 변환기
인터프리터
java.class 코드 해석기
운영체제가 읽은 바이트 코드를 기기가 실행할 수 있는 기계어로 번역
JIT 컴파일러
빠른 Java .class 코드 해석기/ 인터프리터의 효율을 높여주는 서포터 해석기
//just in time 인터프리터와 세트로 효율을 높여준다
메모리 영역
Java 데이터를 저장하는 영역 / 운영체제로부터 JVM이 할당받은 메모리 영역
클래스로더
Java .class 바이트 코드를 메모리 영역에 담는 운반기 /JVM으로 class(바이트 코드) 를 불러와서 메모리에 저장함
가비지컬렉터
Java 쓰레기 청소기 / 메모리영역에서 사용하지 않는 데이터를 주기적으로 청소하는 역할
자바 소스 코드 작성 -> 컴파일러가 자바 소스코드를 바이트코드로 변환 -> JVM로드 ->
클래스로더를 통해 필요한 클래스파일을 메모리에 적재한다 -> 바이트코드 검증 ->
인터프리터 / JIT컴파일러를 통해 기계어로 코드 해석 -> 런타임시스템 -> 프로그램 출력
개발환경구성
JRE
JRE는 Java Runtime Environment
자바 애플리케이션을 실행하기 위한 런타임 환경입니다.
이는 자바 프로그램을 실행하는 데 필요한 모든 것을 포함하는 소프트웨어 패키지입니다.
JRE(JVM)만 있다면 Java 프로그램을 실행만 시킬 수 있습니다
JRE는 .class 파일만 실행 가능합니다
JDK 가 javac 명령을 통해 .java 파일을 실행 가능한 .class 파일로 변환해 줍니다.
JDK
Java Development Kit
JDK는 자바 애플리케이션을 개발하기 위한 소프트웨어 개발 키트입니다.
이는 자바 프로그램을 작성하고 컴파일하는 데 필요한 도구와 라이브러리를 포함합니다.
JDK는 JRE를 포함하고 있어, 개발자들이 자바 애플리케이션을 개발하는 동안 프로그램을 실행하고 테스트할 수 있습니다.
자바 컴파일러 (javac), 디버거 (jdb), 문서 생성기 (javadoc), 아카이빙 도구 (jar) 등 개발에 필요한 다양한 도구가 포함됩니다.
-JDK 디버깅 기능 : JDK의 jdb기능을 통해 실행중인 프로그램의 코드실행을 따라다니며 볼 수 있습니다
디버깅 = 중단점 일시정지 + 코드 라인 단위 수행
'언어 > JAVA' 카테고리의 다른 글
wrapper class / 변수 + (0) | 2024.07.09 |
---|---|
JDK 설치 (0) | 2024.07.09 |
자바의 역사와 특징 (0) | 2024.07.08 |
접근제어자 (0) | 2024.06.26 |
final (0) | 2024.06.26 |