JAVA 언어
- 어디서나 동작 가능한 언어.
- C언어 기능 +공통 실행환경 (JVM) , 클래스(대표적 객체지향) , 객체(object - 모든 '것' 특징과 행동을 가지고 있음)
- 안정성이 높아 오류를 방지하고 보안상 안정하는 특징을 가지고 있다.
JVM?
- 자바 가상 머신 (Java Virtual Machine) 의 약자.
- 여러 기기위에 Java 프로그램을 실행시킬 수 있는 가상의 기기를 만들어주는 것.
JVM 구성
- 바이트 코드 : 운영체제가 읽을 수 있는 코드(바이트 코드)로 JAVA컴파일러가 변환한 코드.
Java 컴파일러란?
내가 작성한 Java 코드들(.java 파일)을 운영체제가 읽을 수 있는 바이트 코드💬(.class 파일) 로 변환하는 변환기
- 인터프리터
Java .class 코드 해석기
- 운영체제가 읽은 바이트 코드를 기기(기계)가 실행할 수 있는 기계어로 번역
- JIT 컴파일러 (Just It Time)
빠른 Java .class 코드 해석기
- 인터프리터의 효율을 높여주는 서포터 해석기
- 메모리 영역
Java 데이터를 저장하는 영역- 운영체제로 부터 JVM이 할당받은 메모리 영역
- 클래스 로더
Java .class 바이트 코드💬를 메모리 영역에 담는 운반기- JVM으로 class(바이트 코드💬)를 불러와서 메모리에 저장함
- 가비지 컬렉터 (G.C)
Java 쓰레기 청소기- 메모리 영역에서 안쓰는 데이터를 주기적으로 흡수해가는 청소기
JRE?
- 자바 실행 환경 (Java Runtime Environment) 의 약자.
- but, JRE는 .class 파일만 실행 가능함.
- 그러니 JDK가 필요함.
JDK?
- 자바 개발 키트 (Java Development Kit) 의 약자.
- JDK 는 아래 그림처럼 JRE(JVM)의 기능을 포함
1) .java 파일을 .class 파일들로 변환해주는 컴파일러 기능.
2) 디버깅하는 jdb 기능.
- JDK 의 Jdb 기능을 통해서 실행중인 프로그램의 코드 실행을 따라다니며 볼 수 있습니다.
- Java 프로그램을 실행한다는 것은 곧 Java 코드를 한줄씩 실행하면서 명령을 수행하는것을 의미합니다.
-우리가 개발한 코드들을 한줄씩 객체와 메소드를 수행하면서 변수들도 변하는 과정을 우리가 볼 수 있도록 JDK(자바 개발 키트)는 코드를 따라가면서 변수를 볼 수 있는 “디버깅” 기능을 제공합니다.
- 내가 작성한 코드 라인에 “중단점”을 설정하고 “디버그”모드로 프로그램을 실행하면, 프로그램이 중단점의 코드 라인을 수행할때 프로그램 흐름이 일시정지되며 변수들을 볼 수 있게 도와줍니다.
- 디버깅 = 중단점 일시정지 + 코드 라인단위 수행
'JAVA' 카테고리의 다른 글
JAVA 문법 종합 1주차 - 2 (2) | 2024.01.04 |
---|