C언어는 컴파일을 할 때, 다른 운영체제가 바이트 코드를 이해할 수 있도록 각각의 운영체제에 맞는 컴파일러가 필요하다.
하지만 java는 컴파일러 하나면 충분하다. 왜? 컴파일한 바이트 코드를 JVM이 각자 OS에 알맞은 코드로 변환해주기 때문이다.
그루비, 스칼라, 코틀린도 JVM을 이용한다고 한다.
JRE는 JVM과, 자바를 실행하기 위한 여러 외부 라이브러리들을 포함한 실행 환경이다.
JDK는 JRE와 컴파일러, 디버그 도구와 같은 여러 개발 도구를 포함한다.
JDK가 JRE, JVM을 내포하기 때문에 JDK를 설치하면 다 설치된다. 따라서 JDK와 자바의 버전은 동일하다고 볼 수 있다.
JDK는 여러 종류와 버전이 있다.
종류
OracleJDK, OpenJDK, Zulu등
버전
자바는 베타부터 현재(23.05.14) 기준 JavaSE 20까지 출시했다. lts(long time support)를 지원한다. 자바8, 11, 17, 21이 이에 해당하는데, 말 그대로 서비스를 오랫동안 지원하겠다는 의미다. 21은 올 해 9월 출시 예정이다.
빌드는 소스 코드를 여러 과정에 거쳐 독립 SW 가공물(artifact)로 변환하는 작업을 말한다.
빌드 과정은 다음과 같다.
실행은 내가 작성한 코드를 컴파일을 거쳐 작동시키는 것을 말한다. 아티팩트가 무조건 나오는 빌드와 다르게 실행은 아티팩트가 나올 수도 있고 안 나올 수도 있다.
source:
공부하는 개발자, https://youtu.be/f0cAmTYo4tQ