🔹 Java 8 (2014년 출시, LTS)
- 주요 기능
- Lambda 표현식: 함수형 프로그래밍 도입
- Stream API: 데이터 처리 방식 개선 (map/filter/reduce)
- java.time 패키지: 새로운 날짜/시간 API
- Optional 클래스: NullPointerException 방지
- 특징: 기존 Java에서 함수형 프로그래밍으로의 전환점
🔹 Java 17 (2021년 출시, LTS)
- 주요 기능
- Sealed Classes: 클래스 상속 제한
- Pattern Matching for instanceof: 타입 캐스팅 간소화
- Switch 표현식 개선 (Java 14~부터 미리보기 → 정식 도입)
- Records: 불변 데이터 객체 간결하게 정의
- Text Blocks: 여러 줄 문자열을 쉽게 작성
- JEP 410: 보안 문제로 RMI 제거
- 성능 및 GC 개선: G1, ZGC 등 지속적 개선
- 특징: Modern Java의 표준, Java 8과 비교해 코드 간결성과 안정성 향상
🔹 Java 21 (2023년 출시, LTS)
- 주요 기능
- Virtual Threads (Project Loom): 경량 스레드로 고성능 동시성 지원
- Pattern Matching 개선 (Record, Switch 등): 복잡한 조건문 간결하게
- Scoped Values: ThreadLocal 대안으로 가독성과 성능 향상
- String Templates (Preview): 문자열 조합을 안전하고 직관적으로
- Foreign Function & Memory API (FFM): JNI 없이 C 라이브러리 호출
- JEP 440~JEP 456 등 다양한 언어 개선
- 특징: 고성능 서버 개발에 매우 적합한 구조, 동시성, 메모리 접근 등이 현대적 방식으로 변화
✅ 요약
버전출시주요 변화특징
버전 | 출시 | 주요 변화 | 특징 |
8 | 2014 | Lambda, Stream, Optional, 날짜 API 도입 | 함수형 프로그래밍 도입 |
17 | 2021 | Sealed, Records, Pattern Matching, Switch 개선 | 코드 간결화 및 안정성 향상 |
21 | 2023 | Virtual Thread, FFM API, Scoped Values 등 | 고성능 병렬 처리/네이티브 연동 |