각 버전의 기술적 특징이 궁금하다면 아래 사이트로 접속해 상세 설명 페이지를 들어가면 굉장히 자세한 설명 페이지가 나온다. 영문이라 보기 어렵다면 요즘 유행하는 deepL을 활요해 보면 도움이 많이 될 것이다. 도구는 도구일뿐 어떤 기능이 있는지는 알아야 하겠다. 사용법은 그때 그때 필요해 의해 익혀 두거나 꾸준한 공부를 위한 학습으로만 사용하시길
https://openjdk.org/projects/jdk/
자바(Java)는 지속적으로 업데이트되며 각 버전마다 새로운 기능, 개선 사항, 성능 향상, 보안 업데이트 등이 포함되어 있습니다. 다음은 몇 가지 주요 Java 버전의 차이점입니다. 더 최신 정보는 Oracle 또는 OpenJDK의 공식 문서를 참조하시기 바랍니다.
Java 7 (JDK 7, 2011년)
- 다이아몬드 문법: 제네릭 인스턴스 생성 시 생성자에서 타입 파라미터를 생략할 수 있게 됨.
- try-with-resources 문: 자동으로 자원을 해제하는 향상된 예외 처리 문법 도입.
Java 8 (JDK 8, 2014년)
- 람다 표현식: 함수형 프로그래밍을 지원하기 위해 람다 표현식이 도입됨.
- 스트림 API: 데이터를 다루기 위한 새로운 스트림 API 도입.
- 디폴트 메서드: 인터페이스에서 메서드의 기본 구현을 제공할 수 있게 됨.
Java 9 (JDK 9, 2017년)
- 모듈 시스템: 프로젝트를 모듈 단위로 나눌 수 있는 모듈 시스템이 도입됨.
- JShell: 대화형으로 Java 코드를 실행할 수 있는 REPL(Read-Eval-Print Loop) 도구 추가.
Java 10 (JDK 10, 2018년)
- 지역 변수 형식 추론: var 키워드를 사용하여 지역 변수의 타입을 추론할 수 있게 됨.
Java 11 (JDK 11, 2018년)
- HTTP 클라이언트: 표준으로 제공되는 HTTP 클라이언트 추가.
- Lambda 파라미터, Unicode 10.0, Launch Single-File Source-Code Programs 등의 새로운 기능과 변경 사항
- 지원 종료된 모듈 제거: 여러 개의 모듈이 제거되었으며, 기타 여러 가지 개선 사항이 포함됨.
Java 12(JDK 12, 2019년)
- switch expressions, JVM constant API, default CDS archiving
- Shenandoah GC 등의 새로운 기능과 변경 사항
Java SE 13 (JDK 13, 2019년)
- switch expressions, Text blocks, Dynamic CDS 파일, ZGC 등의 새로운 기능과 변경 사항이 있습니다.
Java SE 14 (JDK 14, 2020년)
- Java SE 14: 2020년 3월에 출시된 Java SE 14에서는 Records, Pattern Matching, Helpful NullPointerExceptions, TXT 파일, JFR 이상 감시 등의 새로운 기능과 변경 사항이 있습니다.
Java SE 15 (JDK 15, 2020년)
- Sealed Classes, Hidden Classes, Text Blocks, ZGC 등의 새로운 기능과 변경 사항이 있습니다.
Java SE 16 (JDK 16, 2021년)
- Records, Pattern Matching, Vector API, Unix-domain socket channels, Warnings for Value-Based Classes 등의 새로운 기능과 변경 사항이 있습니다.
Java SE 17 (JDK 17, 2021년)
- 봉인 클래스(Sealed Class) 정식 추가
패턴 매칭 프리뷰 단계 - Incubator (Foreign Function & Memory API)
- 애플 M1 및 이후 프로세서 탑재 제품군에 대한 정식 지원(Mac 유저들 환호)
- 난수 생성 API 추가
Java SE 18 (JDK 18, 2022년)
- UTF-8을 Java Standard API의 기본 charset으로 설정
- simple web server를 위한 command-line tool 제공
- Reimplement Core Reflection with Method Handles
- internet-address resolution SPI Deprecate finalization for Removal
Java SE 19 (JDK 19, 2022년)
- Linux/RISC-V Port
- Foreign Function & Memory API (Preview)
- Virtual Threads (Preview)
- Vector API (Fourth Incubator)
- Pattern Matching for switch (Third Preview)
- Structured Concurrency (Incubator)
Java SE 20 (JDK 20, 2023년 - 3월)
- Scoped Values (Incubator)
- Record Patterns (Second Preview)
- Pattern Matching for switch (Fourth Preview)
- Foreign Function & Memory API (Second Preview)
- Virtual Threads (Second Preview)
- Structured Concurrency (Second Incubator)
- Vector API (Fifth Incubator)
Java SE 21 (JDK 21, 2023년 - 9월) - LTS
- String Templates (Preview)
- Generational ZGC
- Record Patterns
- Pattern Matching for switch
- Foreign Function & Memory API (Third Preview)
- Unnamed Patterns and Variables (Preview)
- Virtual Threads
- Unnamed Classes and Instance Main Methods (Preview)
- Scoped Values (Preview)
- Vector API (Sixth Incubator)
- Deprecate the Windows 32-bit x86 Port for Removal
- Prepare to Disallow the Dynamic Loading of Agents
- Key Encapsulation Mechanism API
- Structured Concurrency (Preview) 등의 새로운 기능이 추가되었습니다.
결론
이 외에도 Java의 이후 버전에서는 계속해서 새로운 기능과 개선 사항이 도입되고 있습니다. 계속해서 버전별로 업데이트가 이루어지고 있으므로, 사용 중인 Java 버전에 따라 공식 문서나 릴리스 노트를 확인하여 각 버전의 세부 사항을 참고하는 것이 좋습니다.
'정보' 카테고리의 다른 글
2024년 부터 바뀌는 금어기 및 금지체장 개정내용 - 국립수산과학원 (0) | 2023.12.30 |
---|---|
보기 쉬워졌네! 지하철 노선도, 40년 만에 확 바뀐다 (0) | 2023.12.29 |
스프링 jdbc log4j 트랜젝션 로그를 출력하고 싶은 경우 (Log Config Transction) (0) | 2023.12.27 |
솔로에 대한 이미지 Cue 검색 내용과 내용 ㅋㅋ (충격적) (0) | 2023.12.27 |
교보 샘 플러스 sam 10 Plus 사용기 (0) | 2023.12.26 |