Efter sex månaders utveckling, Oracle har meddelat lanseringen av Java SE 24, baserat på OpenJDK-projektet med öppen källkod, bibehåller bakåtkompatibilitet så att de flesta tidigare utvecklade projekt fortsätter att köras utan ändringar.
Till skillnad från långtidsstöd (LTS) utgåvor, Java SE 24 är en vanlig supportversion, vilket innebär uppdateringar till nästa release. För den som söker långsiktig stabilitet kommer Java SE 21 och Java SE 17 att fortsätta att stödjas fram till 2031 respektive 2029. Dessutom kommer det utökade stödet för Java SE 8 LTS att fortsätta till 2030, medan Java SE 11 kommer att gälla till 2032.
Förbättringar och nya funktioner
I denna nya version av Java SE 24, en av de viktigaste förbättringarna är införandet av Ett experimentellt generativt läge för Shenandoah-sopsamlaren (designad för att behandla nya och gamla objekt separat). Det här nya läget förbättrar effektiviteten vid rengöring av kortlivade föremål, optimerar minnesanvändningen och erbjuder stabilare prestanda under varierande belastning.
En annan nyhet som sticker ut är Experimentellt stöd för kompakta objekthuvuden i HotSpot JVM, vilket minskar storleken från 96 till 64 bitar på 64-bitars system. Denna optimering hjälper till att minska högstorleken och förbättra effektiviteten i minnescachen.
Sopuppsamlaren G1 har också optimerats med en omdesign av de barriärer som övervakar åtkomst till minne av applikationer. Barriärexpansion utförs nu senare i kompileringsprocessen inom C2 JIT-kompilatorn, vilket minskar dess overhead med upp till 20 %, beroende på applikationstyp.
Förbättringar av säkerhet och kryptering
Java SE 24 introducerar ett API för härledningen av kryptografiska nycklar (KDF), möjliggör generering av ytterligare nycklar från en hemlig nyckel och en godtycklig uppsättning data. Detta API, som fortfarande befinner sig i förhandsgranskningsfasen, stärker säkerheten i nyckelhanteringen inom plattformen.
Dessutom, Varningar om användningen av API:er har lagts till Java Native Interface och Foreign Function & Memory, som förberedelse för den framtida implementeringen av ett integritetsläge, som kommer att begränsa standardåtkomsten till inbyggd kod. Varningar har också aktiverats vid användning av externa minnesmetoder via klassen sun.misc.Unsafe, vilket rekommenderar migrering till VarHandle API.
Å andra sidan, i Java SE 24 stöd för ML-KEM kryptografiska algoritmer och ML-DSA (designad för att vara resistent mot kvantberäkningsattacker). Dessa algoritmer är baserade på nätverksteoretiska problem, vilket säkerställer att lösningstider är likvärdiga på både konventionella och kvantdatorer.
Java Security Manager, som hade föråldrats sedan stödet för webbläsarplugin försvann, har tagits bort permanent.
Optimeringar
JVM HotSpot tillåter nu förladdning och länkning av klasser tidigt, vilket avsevärt snabbar upp applikationsstarten. Vid första körningen cachelagras klassernas tillstånd för att underlätta laddning vid framtida starter.
också Implementeringen av Scoped Values har förbättrats, som nu sidtillåter delning av oföränderlig data mellan trådar mer effektivt och ersätter den traditionella trådlokala variabla mekanismen. Detta är särskilt fördelaktigt när du arbetar med miljontals virtuella trådar samtidigt.
En annan nyhet är optimering av virtuella trådar i blockerade tillstånd. I den här utgåvan släpper en blockerad virtuell tråd sin plattformstråd, vilket gör att den kan återanvändas av andra trådar, vilket förbättrar skalbarheten på system med hög flertrådsanvändning.
Av andra förändringar som sticker ut:
- Nytt tillägg till Stream API, så att du kan definiera anpassade mellanliggande operationer.
- Mönstermatchningsmotorer har förbättrats för att stödja primitiva typer (int, byte, char, etc.) i switch-uttryck och instans av operator.
- En fjärde förhandsversion av Structured Concurrency API har lagts till, vilket förenklar utvecklingen av flertrådade applikationer genom att behandla uppgifter på olika trådar som en enda exekveringsenhet.
- Ett enklare sätt att deklarera klasser och definiera main()-metoden har introducerats, vilket eliminerar behovet av att definiera en publik klass med statiska metoder.
- Ett API för klassfiler har lagts till, vilket gör att du kan analysera, generera och transformera Java-klassfiler enklare och mer programmatiskt.
Slutligen, om du är intresserad av att kunna veta mer om det, kan du konsultera detaljerna i följande länk.
Ladda ner Java SE 24
För den som är intresserad av att installera den nya versionen av Java SE 24, bör du veta att byggen (JDK, JRE och Server JRE) redan är redo för Linux, Windows och macOS.