Java 언어 를 컴퓨터가 어떻게 인식하는지 ?
컴퓨터는 기본적으로 0 과 1의 숫자 밖에 모르는 기계이다.
그러면 사람이 쉽기 적을 수 있게 개발된 코딩 언어는 컴퓨터에게 다시 전부 0과 1이라는 숫자로 변경해줘야 한다.
코딩 언어를 -> 0과1로 변경해주는 과정을 [ 컴파일 ] 이라고 한다.
0과 1의 코드는 바이트 코드(바이너리 코드) 라고한다.
[컴파일] 해주는 프로그램을 [컴파일러] 라고 한다.
해당 바이트 코드의 경우 운영체제 마다 조합이 다르다.
C 언어는 운영체제에 맞는 컴파일러가 따로 존재한다.
자바는 좀 다른데 자바 컴파일러는 한개만 존재한다.
한개의 컴파일러에서 바이너리 코드를 변환하면
운영체제와 코드 사이에는 JVM 이라는 것이 존재한다.
Window JVM , Mac JVM , Linux JVM
운영체제 와 코드 사이에서 운영체제에 맞게 변환해준다.
자바를 설치하면 함께 같이 설치 된다.
장점 : 한번 빌드해 놓으면 모든 운영체제에서 사용이 가능하다 .
그래서 JVM 인기가 상당해서 다른 언어에서도 많이 사용한다.
JVM < JRE < JDK
JVM 는 JRE에 포함 되어있고 JRE 는 JDK 안에 포함되어 있다.
JVM ( Java Virtual Machine)
- OS 별로 존재한다.
- 바이너리 코드를 읽고 검증하고 실행한다.
JRE (Java Runtime Enviroment)
-자바 실행 환경의 약자
- JRE = JVM + 자바 프로그램 실행에 필요한 라이브러리 파일 등
- JVM 의 실행 환경을 구현
JDK (Java Development Kit)
- 자바 개발 도구의 약자
- JDK =JRE +개발을 위한 도구
- 컴파일러, 디버그 도구 등이 포함
JDK
계속 업그레이드 된 버전이 출시 된다.
LTS 버전의 경우 오랫동안 지원을 해주는 버전인데
해당 버전으로 공부하면 좋다.
버전 말고 종류도 있다 .
ORACLE 과 OpenJDK 그게 2개의 종류가 있다 .
오라클의 경우는 개인에게 무료이고 기업용은 유료이다.
OpendJDK의 경우 항시 누구나 무료로 사용할 수 있다.