🔎 JDK 24, 무엇이 달라졌을까?
Oracle이 최신 Java Development Kit 24(JDK 24)를 공식 출시했습니다. 이번 버전은 Java SE Platform 버전 24의 기준 구현으로, JDK 릴리스 프로세스(JEP 3)를 통해 발표되었습니다. 성능 향상, 보안 강화, 개발자 편의성 개선 등을 목표로 한 다양한 JEP(Java Enhancement Proposal)가 포함되어 있습니다.
이번 블로그에서는 JDK 24의 주요 변경 사항 및 신규 기능을 살펴보고, Java 개발자가 알아야 할 핵심 업데이트를 정리해 보겠습니다.
📌 JDK 24 주요 변경 사항 (JEP 정리)
1️⃣ 성능 개선 및 가비지 컬렉션(GC) 최적화
- JEP 404: Generational Shenandoah (실험적)
- Shenandoah GC에서 세대별 수집(Generational GC) 을 지원하여 성능 개선
- JEP 475: Late Barrier Expansion for G1
- G1 GC에서 Barrier 구현을 간소화하여 JIT 컴파일러 최적화 및 성능 향상
- JEP 490: ZGC: Remove the Non-Generational Mode
- ZGC의 비세대 모드를 제거하고 세대 모드를 기본값으로 설정하여 성능 최적화
2️⃣ 메모리 최적화 및 객체 관리 개선
- JEP 450: Compact Object Headers (실험적)
- HotSpot JVM에서 객체 헤더 크기를 96~128비트 → 64비트로 줄여 메모리 사용 감소 및 성능 향상
- JEP 491: Synchronize Virtual Threads without Pinning
- synchronized 구문에서 가상 스레드가 플랫폼 스레드에 고정되지 않도록 개선하여 확장성 강화
3️⃣ 보안 강화 및 암호화 개선
- JEP 496 & 497: 양자 저항성 암호화 알고리즘 도입
- ML-KEM (Key Encapsulation Mechanism) 및 ML-DSA (Digital Signature Algorithm) 적용
- 양자 컴퓨팅 공격 대응 가능
- JEP 498: sun.misc.Unsafe 메모리 접근 경고 추가
- sun.misc.Unsafe의 메모리 접근 메서드 사용 시 경고 표시
- VarHandle API 및 FFM API 사용 권장
4️⃣ 개발자 편의 기능 추가
- JEP 484: Class-File API
- Java 클래스 파일의 파싱, 생성 및 변환을 위한 표준 API 제공
- JEP 485: Stream Gatherers
- Stream API에 사용자 정의 중간 연산 지원
- 기존 Stream API로 어려운 데이터 변환 가능
- JEP 495: 간단한 소스 파일 및 main 메서드 지원
- 초보자도 쉽게 작성할 수 있는 간단한 Java 프로그램 지원
📌 JDK 24 신규 기능 요약
1️⃣ TLS 및 보안 관련 기능 추가
- TLS 1.3 재개 티켓 수 설정 가능
java -Djdk.tls.server.newSessionTicket=2
- TLS 암호화 제품군 비활성화 패턴 매칭 지원
jdk.tls.disabledAlgorithms=TLS_RSA_*
2️⃣ JAR 파일 관리 기능 추가
- JAR 파일을 특정 디렉토리로 추출하는 옵션 추가
jar -xf foo.jar -C /tmp/bar/
3️⃣ Java 프로세스 관리 개선
- 새로운 Process.waitFor(Duration) 메서드 추가
process.waitFor(Duration.ofSeconds(10));
- 가상 스레드 모니터링을 위한 VirtualThreadSchedulerMXBean 추가
4️⃣ Unicode 16.0 지원 추가
- 154,998자 및 7개 신규 스크립트 추가 (Garay, Todhri 등)
🚀 JDK 24, 개발자들에게 어떤 의미가 있을까?
JDK 24는 성능 최적화, 보안 강화, 개발 편의성 향상에 집중한 릴리스입니다. 특히 가비지 컬렉션 개선, 양자 저항성 암호화 지원, 객체 메모리 최적화 등의 업데이트는 대규모 애플리케이션을 운영하는 기업 및 성능을 중요시하는 개발자들에게 큰 도움이 될 것입니다.
앞으로 Java를 활용한 프로젝트를 진행하는 개발자라면, JDK 24의 새로운 기능을 적극 활용하여 코드 성능을 최적화하고 최신 보안 기능을 적용해보는 것을 추천합니다!
https://www.oracle.com/news/announcement/oracle-releases-java-24-2025-03-18/
Oracle Releases Java 24
Oracle today announced the availability of Java 24, the latest version of the world’s number one programming language and development platform.
www.oracle.com
OpenJDK JDK 24 GA Release
OpenJDK JDK 24 General-Availability Release This page provides production-ready open-source builds of the Java Development Kit, version 24, an implementation of the Java SE 24 Platform under the GNU General Public License, version 2, with the Classpath
jdk.java.net
'JAVA' 카테고리의 다른 글
Java 24 출시! 개발자를 위한 주요 기능 및 예제 정리 (0) | 2025.03.26 |
---|---|
Java 애플리케이션 성능 최적화: 성능 저하 요인과 해결 방법 총정리 (0) | 2025.03.19 |
Java 23: 새로운 기능과 예제 총정리 (0) | 2025.01.07 |
Java와 Spring Boot에서 싱글톤 패턴 완벽 정복: 올바른 구현과 주의할 점 (0) | 2024.11.14 |
데이터 중심 프로그래밍: OOP의 한계를 넘어서는 새로운 접근법 (0) | 2024.10.14 |