JAVA 버전은 굉장히 많고, 현재(24.1.15) 기준 LTS 가장 최신 버전은 21이다
모든 버전에 LTS가 붙어있는 것은 아닌데, 여기서 말하는 LTS는 long term support의 약자로, 오랜 기간 동안 지원하는 특별한 버전의 에디션이라고 생각하면 된다
그래서 구버전의 경우 아무리 LTS 버전이더라도 이미 지원 종료된 버전도 있다 (7은 재작년에 종료)
JDK releases를 보면 21(2023), 17(2021), 11(2018), 8(2014), 7, 6 …. 는 LTS 버전임을 알 수 있다
Java 버전 | 지원 기간 |
---|---|
8 version | ~2030.12 |
11 version | ~2026.9 |
17 version | ~2029.9 |
위 표와 같이 8, 11, 17 버전은 모두 LTS 버전이므로 굉장히 긴 시간 지원하고 있으며, 8버전과 그 이하 버전의 차이가 크기 때문에 8버전 이후로 사용하는 것을 무조건 추천한다.
Java 버전 사용 비율을 보면 2022년 기준 Java17을 많이 사용하는 추세이나, 여전히 Java8 도 많이 쓰는 것 같다. ( 21버전은 너무 최근이라 아직 많이 쓰지는 않는 듯 )
Java 8 vs java 1.8?
버전 정보는 크게 두 가지로 분류된다.
1.8.0 이런식으로 나타내는 것과 JAVA 8로 나타내는 경우.
전자를 버전 스트링이라고 하고, 후자를 버전 넘버라고 한다
결론은 둘 다 동일한 의미이고 공식적인 이름은 JAVA SE 8 이다
OPEN JDK 8 로도 불리는 듯 하다
JAVA SE(Standard Edition)
표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상머신 규격 및 API 집합 (명세표)
JAVA EE(Enterprise Edition)
JAVA SE 에 웹 어플리케이션 서버에서 동작하는 기능을 추가한 플랫폼
JDK는 java development kit 의 약자로, 자바 플랫폼의 등장 아래 지금까지 가장 널리 사용되고 있는 소프트웨어 개발 키트(SDK)이다. 해석 그대로 Java로 소프트웨어를 개발할 수 있도록 여러 기능들을 제공하는 패키지를 일컫는다. JDK의 구성은 굉장히 많은데, 많이 언급되는 것들은 다음과 같다
위의 항목들은 Java를 개발 및 실행하는 데 필요한 툴들이며, 특히 JRE가 있어야만 Java가 실제 동작할 수 있다. 다시 말하면 JDK는 JAVA SE와 같은 규격을 토대로 만들어진 소프트웨어 패키지이다.