3min Devops

Java 24 bevroren voor nieuwe features

Java 24 bevroren voor nieuwe features

Mark Reinhold, Chief Architect van het Java Platform bij Oracle, kondigt aan dat JDK 24 de Rampdown Fase Twee bereikte. Dit betekent dat er geen nieuwe features meer worden toegevoegd.

Late verbeteringen aan bestaande JEP’s (Java Enhancement Proposals) zijn mogelijk. Die moeten echter voldoen aan een uitzonderlijk hoge standaard. De release van JDK 24 staat gepland voor 18 maart. Dit is geen versie met langdurige ondersteuning (LTS); de volgende LTS-versie, JDK 25, wordt verwacht op 16 september.  

Reinhold maakte dit nieuws vorige week bekend via de OpenJDK-mailinglijst. Er zijn 24 JEP’s opgenomen in JDK 24, waarvan twee experimenteel en acht in verschillende previewfasen.  

Belangrijke wijzigingen 

Een belangrijke verandering in deze release is het verwijderen van ondersteuning voor Windows 32-bit x86. Volgens JEP 479 worden alle test- en ontwikkelinspanningen gericht op Windows 32-bit x86 beëindigd om de bouw- en testinfrastructuur van de JDK te vereenvoudigen. Andere 32-bit platformen, zoals ARM32, blijven ondersteund, hoewel de Linux 32-bit x86-poort wordt uitgefaseerd en gepland is voor verwijdering in JDK 25.  

JDK 24 introduceert ook waarschuwingen bij het gebruik van de Java Native Interface (JNI), de lang bestaande methode om native code aan te roepen, zoals C-bibliotheken. Het doel is niet om JNI te vervangen – hoewel er een nieuw Foreign Function and Memory (FFM) API is – maar om zowel voor JNI als de FFM API een consistent waarschuwingsniveau te bieden. Uiteindelijk zullen ontwikkelaars die native code willen aanroepen dit expliciet moeten inschakelen bij het opstarten, vanwege de risico’s die gepaard gaan met interacties tussen Java en native code.  

Een andere JEP, 498, introduceert een waarschuwing bij het eerste gebruik van een memory-accessmethode in de `sun.misc.Unsafe` namespace. Deze methoden zijn al verouderd en zullen vanaf JDK 26 worden verwijderd, wat zal resulteren in een uitzondering bij gebruik. Ontwikkelaars worden aangespoord om over te stappen naar standaard-API’s in de FFM API en de VarHandle API.  

Prestaties en veiligheid 

Een nieuwe prestatieverbetering, JEP 483, versnelt de opstarttijd door klassen vooraf in te laden. Eén run van de applicatie monitort en cachet klassen, zodat deze onmiddellijk beschikbaar zijn bij de volgende run. Volgens de JEP verbetert deze functie de opstarttijd van de Spring PetClinic-sample met 42 procent.  

Een historische verandering wordt geïntroduceerd in JEP 486: de permanente uitschakeling van de security manager. Dit kenmerk, dat sinds de eerste release in Java aanwezig was, beschouwde alle code standaard als onbetrouwbaar. De complexiteit van sandboxing op dit niveau maakte het echter onpraktisch, waardoor weinig applicaties er gebruik van maakten. Het verwijderen van de security manager elimineert de aanzienlijke complexiteit die het toevoegde aan de Java Platform-bibliotheken.  

Quantum-resistente beveiliging  

Met de opkomst van quantumcomputers, die traditionele encryptie kunnen doorbreken, introduceren JEP 496 en 497 quantum-resistente modules voor sleutel-inkapseling en digitale handtekeningsalgoritmen.  

De volledige lijst met nieuwe functies is hier te vinden.