일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 톰캣
- q87
- 키보드
- Database
- 스레드 덤프
- API
- http
- 스레드
- 컨트롤러
- service name
- MariaDB
- 티스토리챌린지
- 안드로이드 스튜디오
- Tomcat
- letterspacing
- servicename
- cmd
- httpservletreqeust
- 오블완
- JDBC
- Docker
- HTML
- wsdl
- java
- ibatis
- MySQL
- 영상편집
- 프로세스
- oracle
- SID
- Today
- Total
블로그 이름
[JAVA] 자바 버전별 차이 및 특징 (8, 11, 17, 21) 본문
오늘은 자바 버전 별 차이 및 특징을 알아보고자 한다.
Java 8
2014년 출시한 LTS버전, 대규모 릴리즈, Lambda, Stream API 제공, Optional, 새로운 날짜, 시간 API 제공 (LocalDateTime), Oracle이 Java를 인수한 후 첫번째 LTS 출시 버전이다.
Java 11
2018년 출시한 LTS 버전, String과 File 기능을 향상하였다. (isBlank, strip, writeString 등) var 키워드 사용 가능, Open JDK와 Oracle JDK가 통합되었다.
Java 17
2021년 출시된 LTS 버전
Spring Boot 3.x.x 버전은 JDK 17 이상 부터 지원한다. Switch에 대한 패턴 매칭, recode class 도입, 텍스트 블록 기능을 추가하여 코드를 간결하고 효율적으로 작성할 수 있도록 도움을 준다.
Java 21
2023년 출시된 LTS 버전
Spring Boot 3.2 부터 지원한다.
가상 스레드를 도입하여 몇 개의 운영 체제 스레드만 사용하여 수백만 개의 가상 스레드를 실행하는 것이 가능해졌다. UTF-8을 기본값으로 사용한다.
LTS란 Long Term Support의 약자로, 출시 후 일반적으로 8년이라는 긴 기간동안 보안 업데이트 및 버그 수정을 지원할 것임을 선언한 버전이다. Java 8과 11은 높은 수요로 지원 기간이 연장되었다.
non-LTS 버전은 일반적으로 6개월 지원한다.
서포트 기간이 길어야 한다면 최신 LTS 버전을, Spring Boot 상위 버전과 호환이 되어야 한다면 17 이상을, 최신 기능을 사용하고 싶다면 버전 별 추가 기능을 보고, 마이그레이션이 수월하길 바란다면 최신 이전 버전을 선택하면 되곘다.
오늘은 자바 버전 별 특징과 LTS 버전이 무엇인지에 관해 알아보았다.
'개발 > Java' 카테고리의 다른 글
[JAVA] Reflection API (0) | 2025.02.19 |
---|---|
[JAVA] Java 및 cmd 기본 명령어 (1) | 2025.02.12 |
[JAVA] 자바 버전 여러 개 활용하기 (프로그램 실행 시 자바 버전 변경) (0) | 2025.02.12 |
[JAVA] 긴 데이터 줄이는 방법 (StringUtils.abbreviate) (0) | 2025.02.10 |
[JAVA] 서블릿(Servlet) 이란? (0) | 2025.01.20 |