자바 8 / 17 / 21 버전별 차이점
2025. 6. 4. 13:06

🔹 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 등 고성능 병렬 처리/네이티브 연동
 

 

'Java' 카테고리의 다른 글

Junit  (0) 2024.12.05
LOG4J  (0) 2024.12.03
JDBC-Controller  (0) 2024.10.25
JDBC-DAO  (0) 2024.10.25
JDBC-DTO  (0) 2024.10.25