지금까지 자바를 사용해 개발을 하면서 '나는 자바 개발자가 맞는가? 자바 개발자가 맞다면 자바에 대해서 어느정도 알고 있는가?'하는 생각이 들었다. 생각해보니 많은 부분을 모르고 있었다. 그래서 기본부터 다시 공부하면서 정리해보려고 한다.
JDK는 자바 개발자들이 Java로 개발할 때 사용되는 키트이다. JDK 안에는 자바를 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들이 포함되고 JRE도 같이 포함되어 있다.
종류
- Oracle JDK : Oracle에서 제공하는 JDK로 상업적으로 사용하려면 구독을 통해 유료 라이센스를 구매해야한다.
- Open JDK : 무료 JDK이지만 직접 사용하는것 보다는 Open JDK 기반으로 빌드된 JDK 사용을 추천한다.
- Azul Zulu : Mac 등에서 사용할 수 있는 바이너리를 제공하는 JDK이다.
- Amazon Corretto : AWS에서 제공하는 JDK이다
Java 디렉토리에는 다양한 파일들로 구성되어 있다.
자바는 처음에 JDK 1.0a를 시작으로 다양한 기능들이 추가되면서 JDK 1.2버전에서는 약칭이 J2SE(Java2 Standard Edition)로 표기되기 시작했고 J2SE 6버전에서는 Java SE(Java Standard Edition)로 명칭이 바뀌었다.
Oracle 사이트에 접속해보면 다운 받을 수 있는 버전은 JDK1.4.2 ~ Java SE 21 버전까지 다운 받을 수 있다.
표기법
Java SE 21.0.2(LTS)
- 21 : 주요 버전
- 0 : 개선 버전
- 2 : 업데이트 버전
- LTS : Long Term Support 장기 지원 하는 버전
JVM과 자바 프로그램을 실행시킬 때 필요한 라이브러리 API를 함께 묶어서 배포되는 패키지 이다. 컴퓨터 운영체제 소프트웨어 상에서 실행되고 클래스 라이브러리 및 특정 Java 프로그램이 실행해야 하는 기타 리소스를 제공하는 소프트웨어 계층이다.
개별적으로 설치가 가능했지만 JDK 11 버전부터는 따로 제공되지 않는다.
런타임 아키텍처
- 클래스로더 : Java 프로그램의 실행에 필요한 모든 클래스를 동적으로 로드한다.
- 바이트코드 검증기 : 인터프리터에 전달되기 전에 Java 코드의 형식과 정확성을 보장
- 인터프리터 : Java 프로그램이 기본 시스템에서 기본적으로 실행될 수 있도록 해주는 JVM의 인스턴스를 작성한다.
나무위키 - Java/버전
위키백과 - 자바 개발 키트
IBM - JRE
https://inpa.tistory.com/entry/JAVA-%E2%98%95-JDK-JRE-JVM-%EA%B0%9C%EB%85%90-%EA%B5%AC%EC%84%B1-%EC%9B%90%EB%A6%AC-%F0%9F%92%AF-%EC%99%84%EB%B2%BD-%EC%B4%9D%EC%A0%95%EB%A6%AC#
https://coding-factory.tistory.com/826
https://hajoung56.tistory.com/35
https://themach.tistory.com/88