반응형
주요 정식 기능 (5개)
1. JEP 500: Prepare to Make Final Mean Final
final필드를 리플렉션으로 변경(mutate)하는 코드에 대해 런타임 경고를 발생시킵니다.- 향후 릴리스에서는 이러한 변경을 완전히 차단할 예정이며, 이를 통해 JVM이 더 공격적인 최적화를 수행할 수 있게 됩니다.
- Java의 "Integrity by Default" 원칙 강화의 일환입니다.
2. JEP 504: Remove the Applet API
- 오랫동안 deprecated 상태였던 Applet API가 완전히 제거되었습니다.
- 웹 브라우저에서 Java 코드를 실행하던 시대의 유산이 공식적으로 끝났습니다.
3. JEP 516: Ahead-of-Time Object Caching with Any GC
- AOT(Ahead-of-Time) 캐시를 GC에 구애받지 않는(GC-agnostic) 저장 형식으로 개선했습니다.
- ZGC를 포함한 모든 가비지 컬렉터에서 사전 초기화된 객체를 로드할 수 있어 시작 시간과 워밍업 시간이 개선됩니다.
4. JEP 517: HTTP/3 for the HTTP Client API
java.net.http.HttpClientAPI에 HTTP/3 프로토콜 지원이 추가되었습니다.- Head-of-line blocking 제거, 불안정한 네트워크 환경에서의 성능 향상 등의 이점이 있습니다.
5. JEP 522: G1 GC — Improve Throughput by Reducing Synchronization
- G1 가비지 컬렉터의 동기화 오버헤드를 줄여 전반적인 애플리케이션 처리량(throughput)을 개선합니다.
Preview & Incubator 기능 (5개)
| JEP | 기능명 | 단계 | 설명 |
|---|---|---|---|
| 524 | PEM Encodings of Cryptographic Objects | 2nd Preview | 암호화 키/인증서를 PEM 형식으로 인코딩/디코딩하는 새 API |
| 525 | Structured Concurrency | 6th Preview | 관련 동시 작업을 하나의 작업 단위로 다루는 구조적 동시성 API |
| 526 | Lazy Constants | 2nd Preview | (구 "Stable Values") 불변 상수의 지연 초기화를 JVM 수준에서 최적화 |
| 529 | Vector API | 11th Incubator | 벡터 연산을 하드웨어 SIMD 명령어로 매핑하기 위한 API |
| 530 | Primitive Types in Patterns, instanceof, and switch | 4th Preview | instanceof, switch 패턴에서 기본형(primitive) 타입 사용 지원 |
반응형