Java 24
2025λ 3μ 18μΌ λ°νλ JDK 24
1. μ£Όμ μλ‘μ΄ κΈ°λ₯(Major New Functionality)
1.1 μΈμ΄ κΈ°λ₯ κ°μ (Language Previews)
Primitive Types in Patterns, instanceof, and switch(JEP 488, Second Preview)
instanceof
λ°switch
μμ κΈ°λ³Έ νμ (primitive types) μ μ¬μ©ν μ μλλ‘ μ§μμλ₯Ό λ€μ΄, κΈ°μ‘΄μλ
switch
λ¬Έμμint
,double
λ±μ μ§μ μ¬μ©ν μ μμμ§λ§, μ΄μ λ ν¨ν΄ λ§€μΉκ³Ό ν¨κ» μ¬μ©ν μ μμ.
Flexible Constructor Bodies(JEP 492, Third Preview)
μμ±μμμ
super(..)
νΈμΆ μ μ νλλ₯Ό μ΄κΈ°ννλ κ²μ΄ κ°λ₯ν΄μ§.μ΄λ₯Ό ν΅ν΄ μμλ ν΄λμ€μμ
super(..)
κ° νΈμΆλκΈ° μ μ νλ μ΄κΈ°νκ° κ°λ₯νμ¬ μ€λ²λΌμ΄λ©λ λ©μλ νΈμΆμ λμ± μμ νκ² μ²λ¦¬ν μ μμ.
Module Import Declarations(JEP 494, Second Preivew)
νλμ
import
λ¬ΈμΌλ‘ λͺ¨λμ΄ λ΄λ³΄λΈ λͺ¨λ ν¨ν€μ§λ₯Ό κ°μ Έμ¬ μ μλλ‘ μ§μ.κΈ°μ‘΄μλ ν¨ν€μ§ λ¨μλ‘λ§
import
κ° κ°λ₯νμ§λ§, λͺ¨λ λ¨μλ‘λ κ°νΈνκ² κ°μ Έμ¬ μ μμ.
Simple Source Files and Instance Main Methods(JEP 495, Fourth Preview)
μ΄λ³΄ κ°λ°μκ° μλ° νλ‘κ·Έλ¨μ λ μ½κ² μμ±ν μ μλλ‘ λ¨μν ννμ μμ€ νμΌκ³Ό μΈμ€ν΄μ€ λ©μΈ λ©μλλ₯Ό μ§μ.
μλ₯Ό λ€μ΄,
public static void main(String[] args)
μμ΄λ μ€ν κ°λ₯ν λ¨μν νλ‘κ·Έλ¨μ μμ± κ°λ₯
2. μ±λ₯ λ° λ°νμ κ°μ (Performance and Runtime)
Compact Object Headers(JEP 450, Experimental)
64λΉνΈ μν€ν μ²μμ κ°μ²΄ ν€λ ν¬κΈ°λ₯Ό κΈ°μ‘΄ 96 ~ 128 λΉνΈμμ 64λΉνΈλ‘ μ€μ¬μ λ©λͺ¨λ¦¬ μ¬μ©λ μ κ° λ° λ°μ΄ν° λ‘μ»¬λ¦¬ν° ν₯μ
Latte Barrier Expansion for G1(JEP 475)
G1 GC μ Barrier νμ₯μ μ΅μ ννμ¬ μ±λ₯ ν₯μ
Ahead-of-Time Class Loading & Linking(JEP 483)
μ ν리μΌμ΄μ μ€ν μλλ₯Ό λμ΄κΈ° μν΄ JVM μ΄ ν΄λμ€ λ‘λ© λ° λ§ν¬ μ 보λ₯Ό μΊμνμ¬ λ€μ μ€ν μ μ¦μ μ¬μ© κ°λ₯νλλ‘ ν¨.
Synchronize Virtual Threads without Pinning(JEP 491)
synchronized
λΈλ‘μ μ¬μ©νλ κ°μ μ°λ λ(Virtual Thread) κ° νλ«νΌ μ°λ λμ λΆλ¦¬λμ΄ λ³΄λ€ ν¨μ¨μ μΌλ‘ λμνλλ‘ κ°μ
3. λΌμ΄λΈλ¬λ¦¬ κ°μ (Libraries)
Stream Gatherers(JEP 485)
κΈ°μ‘΄ Stream API μ μ¬μ©μ μ μ μ€κ° μ°μ°(intermediate operation) μ μΆκ°ν μ μλλ‘ κ°μ
Class-File API(JEP 484)
Java ν΄λμ€ νμΌμ λΆμ, μμ± λ° λ³νν μ μλ νμ€ API μ 곡
Scope Values(JEP 487, Fourth Preview)
ThreadLocal
λ³΄λ€ κ°λ³κ³ μμ ν λ°©μμΌλ‘ λ°μ΄ν°λ₯Ό 곡μ ν μ μλ μλ‘μ΄ μ€μ½ν κ°μ λμ
Vector API(JEP 489, Ninth Incubator)
λ²‘ν° μ°μ°μ μ΅μ ννμ¬ CPU μ±λ₯μ κ·Ήλννλ API μΆκ°
Structured Concurrency(JEP 499, Fourth Preview)
λ³λ ¬ νλ‘κ·Έλλ°μ λ μ½κ² νκΈ° μν΄ κ΅¬μ‘°μ λμμ±(Structured Concurrency) API μ 곡.
4. 보μ κΈ°λ₯ κ°ν(Security)
Key Derivation Function API(JEP 478, Preview)
KDF(Key Derivation Function) API λ₯Ό μΆκ°νμ¬ μνΈ ν€λ₯Ό λ³΄λ€ μμ νκ² νμ κ°λ₯
Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism(JEP 496)
μμ μ»΄ν¨ν° 곡격μ λλΉν μλ‘μ΄ μνΈν ν€ μΊ‘μν λ©μ»€λμ¦(ML-KEM) μ§μ
Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm(JEP 497)
μμ μ νμ±μ κ°μΆ λμ§νΈ μλͺ μκ³ λ¦¬μ¦(ML-DSA) μ§μ
5. μ κ±° λ° κ²½κ³
Java Native Interface(JNI) μ ν μκ³ (JEP 472)
ν₯ν JNI μ¬μ©μ μ νν μμ μ΄λ©°, νμ¬λ κ²½κ³ λ©μμ§λ₯Ό μΆλ ₯
Security Manager μμ μ κ±°(JEP 486)
Java 17μμ μμ μμ μ΄μλ
Security Manager
λ₯Ό μμ ν λΉνμ±ν.
ZGC μ Non-Generationl Mode μ κ±°(JEP 490)
Z Garbage Collector(ZGC) μμ Non-Generational λͺ¨λλ₯Ό μ κ±°νκ³ , Generational λͺ¨λλ§ μ μ§
sun.misc.Unsafe λ©λͺ¨λ¦¬ μ κ·Ό λ©μλ μ¬μ© μ κ²½κ³ (JEP 498)
sun.misc.Unsafe
μ λ©λͺ¨λ¦¬ μ κ·Ό λ©μλλ₯Ό μ¬μ©ν κ²½μ° κ²½κ³ λ©μμ§ μΆλ ₯
JDK 24 μμ μΆκ°λ κΈ°ν μλ‘μ΄ κΈ°λ₯
Unicode 16.0 μ§μ(
java.lang.Character
ν΄λμ€μ 5185κ°μ μλ‘μ΄ λ¬Έμ μΆκ°)Process.waitFor(Duration) λ©μλ μΆκ° (
Duration
κ°μ²΄λ₯Ό μ§μ μ¬μ© κ°λ₯)jar λͺ λ Ήμ΄ κ°μ (JAR νμΌμ νΉμ λλ ν λ¦¬λ‘ μΆμΆνλ μ΅μ μΆκ°)
Virtual Thread Scheduler λͺ¨λν°λ§ κΈ°λ₯(
jdk.management.VirtualThreadSchedulerMXBean
μ 곡)TLS 1.3 μ μλ‘μ΄ μΈμ ν°μΌ κ°μ μ‘°μ κ°λ₯(
jdk.tls.server.newSessionTicket
μμ± μΆκ°)Quantum-Resistant TLS ν€ λ° μλͺ μκ³ λ¦¬μ¦ μ 곡(μμ λ΄μ± μνΈν μ§μ)
OpenJDK μ Oracle JDK μ μ°¨μ΄μ μ μ§(μ: GraalVM JIT ν¬ν¨ μ¬λΆ, μ€μΉ νλ‘κ·Έλ¨ μ§μ λ±)
Last updated
Was this helpful?