JDK 8 vs JDK 17

김수환·2023년 9월 30일
0

JDK 8

오라클이 java를 인수한 후 첫번째 LTS 출시 버전 유료버전(Oracle JDK)과 무료버전(Open JDK)이 있다.
주요 특징은 다음과 같다.

  • LocalDateTime과 같은 새로운 날짜,시간 API를 제공
  • Unsigned Integer 계산
  • 람다식 제공
  • Stream API제공
  • Static Link JNI Library 제공

왜 JDK8인가?

발표된 LTS 버전 중 가장 오랜 Support을 보장한다.

  • Oracle은 JDK 8이 현재까지 나온 버전 중 가장 오랜 기간 지원될 버전이라고 발표하였다 (2030까지 지원예정)

기존 서비스와 호환

  • 국내에서 개발된 프로젝트는 대다수 Java 8로 개발되어 운영하고있는 상황
  • 기존 프레임워크 또는 제품들과의 호환성을 유지하고 안정적으로 운영하기 위해 이후 연관된 프로젝트들 또한 JDK 8을 유지중이다.

JDK 17


Spring Boot 3.0 부터는 자바 17 이상을 지원한다. 이 이유로 17버전 사용이 증가하고 있다.
주요 특징은 다음과 같다.

  • recode class 키워드 사용 가능
  • 애플 M1 및 이후 프로세서 탑재 제품군에 대한 정식 지원
  • random number 생성 API 추가
  • String 여러줄 사용시 텍스트 블록 기능 사용 가능
  • NumberFormat,DateTimeFormatter 기능 향상
  • Stream.toList() 사용 가능

왜 JDK17인가?

만만찮게 긴 Support

  • 현재까지 발표로는 8버전의 지원 기간이 17버전보다 상대적으로 조금 더 긴 게 사실이다.
  • 그러나, 17버전의 지원 기간이 절대 짧다고 할 수는 없다.(-2029)
  • 만료 전 다른 LTS버전 공개를 준비하고 있지 않을까 예측하고 있다.

신규 버전을 위한 대비

  • 언젠가는 사용 중인 버전의 지원 종료일이 도래하여 다른 LTS 버전을 찾아야 할 것이다.
  • 8버전에서 바로 최신 버전으로 전환하는 것 보다 17버전까지의 기술 적응을 완료한 상태에서 전환 시 마이그레이션으로 인한 영향이 최소화될 것이다.

Spring Boot 3.0부터는 JDK 17이상을 지원한다.

profile
hello human

0개의 댓글

관련 채용 정보