https://code-lab1.tistory.com/253
Java에는 다양한 버전이 존재한다. 그중 가장 많이 쓰이는 버전은 Java 8, 11, 17이다. 이 세 가지 버전이 많이 사용되는 이유는 이 버전들이 LTS(Long Term Support) 버전이기 때문이다.
LTS란 말 그대로 장기간에 걸쳐 지원을 해주겠다는 뜻이다. LTS 지원 버전은 출시 이후 8년간 보안 업데이트와 버그 수정을 지원해준다. 그 외에 6개월 간격으로 non-LTS 버전들이 출시되는데, 이러한 버전들은 짧은 기간만 해당 버전을 지원해준다.
따라서, LTS 버전인 Java 8, 11, 17이 가장 많이 사용되고 있다.
간단하게 각 버전들의 특징을 정리하자면 다음과 같다.
Java 8
- 오라클이 자바 인수 후 출시한 첫 번째 LTS 버전
- 32bit를 지원하는 마지막 공식 Java 버전
- Oracle JDK(Oracle사에서 지원하는 버전으로 유료) , Open JDK(오픈소스 기반의 무료)로 나뉨
- 새로운 날짜와 시간 API(LocalDateTime 등)
- 람다식(Lambda), Stream API
- PermGen 영역 삭제
- Static Link JNI Library
Java 11
- Oracle JDK와 Open JDK 통합
- Oracle JDK가 구독형 유료 모델로 전환
- 람다 지역 변수 사용법 변경
- Third Party JDK로의 이전 필요
- HTTP 클라이언트 표준화 기능
Java 17
- 가장 최신 LTS 버전
- 봉인 클래스(Sealed Class) 정식 추가
- 패턴 매칭 프리뷰 단계
- Incubator (Foreign Function & Memory API)
- 애플 M1 및 이후 프로세서 탑재 제품군에 대한 정식 지원 (Mac 유저들 환호)
- 난수 생성 API 추가
더 자세한 설명은 Oracle 홈페이지를 참조하자.
자바 17을 사용하는 이유
여기어때 기술 블로그를 보면, JDK 17을 도입한 이유를 다음과 같이 말하고 있다.
- Java 서포트 기간이 길다. (LTS)
- 신규 버전을 위한 대비용으로 도입. (java 8에서 바로 최신버전을 쓰려고 할 때보다 마이그레이션이 수월할 것으로 예상)
- Spring Boot 3.0 부터는 자바 17 이상을 지원
이 중 3번째가 가장 중요한 이유라고 한다.
대부분 스프링 부트를 사용하지 않는 SI, 공공기관 프로젝트에서는 와닿지 않는 사용 이유라고 생각되며 회사에서 왜 1.8버전을 사용하는지 알게 되었다. (SI다님..)
위에 미처 작성하지 못한 많은 업데이트 내용이 있으므로, 초심자라면 1.8버전부터 해서 바뀐점에 대해 숙지해가며 17버전까지 사용해 보는 것이 좋을 것 같다.
https://cheerup313.tistory.com/86
왜 JDK 8을 사용할까?
JDK 8은 2014년 등장한 다소 오래된 Java 버전입니다. 그렇지만 위에서 보신 바와 같이 국내/외에서 현재까지 많이 사용되는 버전이기도 합니다. 그렇다면 왜 많은 분들이 다른 버전도 아닌 JDK 8을 사용하고 계실까요?
그 이유는 다음과 같다고 생각합니다.
1. 발표된 LTS 버전 중 가장 오랜 Support을 보장
- Oracle은 JDK 8이 현재까지 나온 버전 중 가장 오랜 기간 지원될 버전이라고 발표하였습니다
2. 기존 서비스와의 호환
- 현재 국내에서 개발된 프로젝트는 대다수 Java 8로 개발되어 운영하고있는 상황입니다. 그렇기에 기존 프레임워크 또는 제품들과의 호환성을 유지하고 안정적으로 운영하기 위해 이후 연관된 프로젝트들 또한 JDK 8에서 벗어나지 않고 있습니다.
'기술면접준비' 카테고리의 다른 글
프로젝트 배포 방법 - 빌드도구 Maven/Gradle (0) | 2023.08.02 |
---|---|
자바스크립트 ES6(ECMAScript ) 문법 (0) | 2023.08.01 |
페이지 로딩속도 개선 방법 (0) | 2023.07.31 |
스프링프레임워크와 스프링 부트의 차이점 (0) | 2023.07.27 |
SSR(서버 사이드 렌더링) VS CSR(클라이언트 사이드 렌더링) (0) | 2023.07.25 |
댓글