Na zes maanden ontwikkeling Oracle heeft de release van Java SE 24 aangekondigd, gebaseerd op het open source OpenJDK-project, en blijft achterwaarts compatibel, zodat de meeste eerder ontwikkelde projecten zonder wijzigingen kunnen blijven draaien.
In tegenstelling tot releases met langdurige ondersteuning (LTS), Java SE 24 is een reguliere ondersteuningsrelease, wat inhoudt dat er updates zijn tot de volgende release. Voor degenen die op zoek zijn naar stabiliteit op de lange termijn, worden Java SE 21 en Java SE 17 respectievelijk tot 2031 en 2029 ondersteund. Bovendien blijft de uitgebreide ondersteuning voor Java SE 8 LTS doorlopen tot 2030, terwijl Java SE 11 tot 2032 van kracht blijft.
Verbeteringen en nieuwe functies
In deze nieuwe versie van Java SE 24 is een van de belangrijkste verbeteringen is de introductie van Een experimentele generatieve modus voor de Shenandoah-garbagecollector (ontworpen om nieuwe en oude objecten apart te verwerken). Deze nieuwe modus verbetert de efficiëntie bij het opschonen van kortstondige objecten, optimaliseert het geheugengebruik en biedt stabielere prestaties bij wisselende belasting.
Een andere nieuwigheid die opvalt, is de Experimentele ondersteuning voor compacte objectheaders in de HotSpot JVM, waardoor de grootte op 96-bits systemen van 64 naar 64 bits werd teruggebracht. Deze optimalisatie helpt de heapgrootte te verkleinen en de efficiëntie van de geheugencache te verbeteren.
De vuilnisman G1 is ook geoptimaliseerd met een nieuw ontwerp van de barrières die de toegang tot geheugen door applicaties in de gaten houden. Barrière-uitbreiding wordt nu later in het compilatieproces uitgevoerd binnen de C2 JIT-compiler, waardoor de overhead met maximaal 20% wordt verlaagd, afhankelijk van het type toepassing.
Verbeteringen in beveiliging en encryptie
Java SE 24 introduceert een API voor het afleiden van cryptografische sleutels (KDF), waardoor het genereren van extra sleutels mogelijk wordt van een geheime sleutel en een willekeurige set gegevens. Deze API, die zich nog in de previewfase bevindt, verbetert de beveiliging van het sleutelbeheer binnen het platform.
Bovendien heeft Er zijn waarschuwingen over het gebruik van API's toegevoegd Java Native Interface en Externe Functie & Geheugen, ter voorbereiding op de toekomstige implementatie van een integriteitsmodus, die de standaardtoegang tot native code zal beperken. Waarschuwingen zijn ook ingeschakeld bij het gebruik van externe geheugentoegangsmethoden via de klasse sun.misc.Unsafe. Daarom wordt migratie naar de VarHandle API aanbevolen.
Aan de andere kant, in Java SE 24 is de ondersteuning voor ML-KEM cryptografische algoritmen en ML-DSA (ontworpen om te zijn bestand tegen aanvallen op quantumcomputers). Deze algoritmen zijn gebaseerd op netwerktheoretische problemen en zorgen ervoor dat de oplossingstijden op zowel conventionele als quantumcomputers gelijk zijn.
Java Security Manager, die was verouderd sinds de ondersteuning voor browserplug-ins verdween, is permanent verwijderd.
Optimalisaties
JVM HotSpot staat nu het preloaden en koppelen van klassen in een vroeg stadium toe, wat het opstarten van de applicatie aanzienlijk versnelt. Bij de eerste uitvoering wordt de status van de klassen gecached, zodat ze bij toekomstige starts gemakkelijker kunnen worden geladen.
ook De implementatie van Scoped Values ​​is verbeterd, die nu pmaakt het mogelijk om onveranderlijke gegevens tussen threads te delen efficiënter, ter vervanging van het traditionele thread-lokale variabele mechanisme. Dit is vooral handig als u met miljoenen virtuele threads tegelijk werkt.
Een andere nieuwigheid is de optimalisatie van virtuele threads in geblokkeerde toestanden. In deze release geeft een geblokkeerde virtuele thread zijn platformthread vrij, waardoor deze opnieuw kan worden gebruikt door andere threads. Dit verbetert de schaalbaarheid op systemen met een hoog multithreadinggebruik.
Van de andere opvallende veranderingen:
- Nieuwe uitbreiding van de Stream API, waarmee u aangepaste tussenliggende bewerkingen kunt definiëren.
- Engines voor patroonherkenning zijn verbeterd ter ondersteuning van primitieve typen (int, byte, char, enz.) in switch-expressies en de instanceof-operator.
- Er is een vierde previewversie van de Structured Concurrency API toegevoegd. Deze vereenvoudigt de ontwikkeling van multithreaded applicaties door taken op verschillende threads als één uitvoeringseenheid te behandelen.
- Er is een eenvoudigere manier geïntroduceerd om klassen te declareren en de main()-methode te definiëren, waardoor het niet langer nodig is om een ​​openbare klasse met statische methoden te definiëren.
- Er is een klassebestand-API toegevoegd, waarmee u Java-klassebestanden eenvoudiger en programmatisch kunt parseren, genereren en transformeren.
Tot slot, als u geïnteresseerd bent om er meer over te weten, kunt u de details raadplegen in de volgende link.
Java SE 24 downloaden
Voor degenen die geïnteresseerd zijn in het installeren van de nieuwe versie van Java SE 24, moet u weten dat de compilaties (JDK, JRE en Server JRE) al klaar zijn voor Linux, Windows en macOS.