[개념공부]Java 8, 11, 17

allnight5·2023년 3월 2일
0

자바 개념정리

목록 보기
28/28

Java 8, 11, 17

우리팀이 JDK 17을 도입한 이유

Java에는 다양한 버전이 존재한다. 그중 가장 많이 쓰이는 버전은 Java 8, 11, 17이다. 이 세 가지 버전이 많이 사용되는 이유는 이 버전들이 LTS(Long Term Support) 버전이기 때문이다.

LTS란 말 그대로 장기간에 걸쳐 지원을 해주겠다는 뜻이다. LTS 지원 버전은 출시 이후 8년간 보안 업데이트와 버그 수정을 지원해준다. 그 외에 6개월 간격으로 non-LTS 버전들이 출시되는데, 이러한 버전들은 짧은 기간만 해당 버전을 지원해준다.

따라서, LTS 버전인 Java 8, 11, 17이 가장 많이 사용되고 있다.

간단하게 각 버전들의 특징을 정리하자면 다음과 같다.

Java 8

https://blog.kakaocdn.net/dn/cAnJLu/btrImccSHsO/FOgKGkGuNeGkTs4vQILUK1/img.jpg

  • 오라클이 자바 인수 후 출시한 첫 번째 LTS 버전
  • 32bit를 지원하는 마지막 공식 Java 버전
  • Oracle JDK(Oracle사에서 지원하는 버전으로 유료) , Open JDK(오픈소스 기반의 무료)로 나뉨
  • 새로운 날짜와 시간 API(LocalDateTime 등)
  • 람다식(Lambda), Stream API
  • PermGen 영역 삭제
  • Static Link JNI Library

Java 11

https://blog.kakaocdn.net/dn/bnhP3U/btrIiKve2Cq/OEnpTEh5UVGNVKfnSWaF91/img.png

  • Oracle JDK와 Open JDK 통합
  • Oracle JDK가 구독형 유료 모델로 전환
  • 람다 지역 변수 사용법 변경
  • Third Party JDK로의 이전 필요
  • HTTP 클라이언트 표준화 기능

Java 17

https://blog.kakaocdn.net/dn/8a2WS/btrIjNLNLR8/D7kIn6ZKyTIbrnzkT3JQH0/img.webp

  • 가장 최신 LTS 버전
  • 봉인 클래스(Sealed Class) 정식 추가
  • 패턴 매칭 프리뷰 단계
  • Incubator (Foreign Function & Memory API)
  • 애플 M1 및 이후 프로세서 탑재 제품군에 대한 정식 지원 (Mac 유저들 환호)
  • 난수 생성 API 추가
  • 스프링 부터 3.0.0 부터는 jdk17이상 부터 지원한다.
profile
공부기록하기

0개의 댓글