Etter seks måneders utvikling, Oracle har annonsert lanseringen av Java SE 24, basert på åpen kildekode OpenJDK-prosjektet, opprettholder bakoverkompatibilitet slik at de fleste tidligere utviklede prosjekter vil fortsette å kjøre uten endringer.
I motsetning til utgivelser av langsiktig støtte (LTS), Java SE 24 er en vanlig støtteutgivelse, som innebærer oppdateringer frem til neste utgivelse. For de som ser etter langsiktig stabilitet, vil Java SE 21 og Java SE 17 fortsatt støttes frem til henholdsvis 2031 og 2029. I tillegg vil utvidet støtte for Java SE 8 LTS fortsette til 2030, mens Java SE 11 vil forbli i kraft til 2032.
Forbedringer og nye funksjoner
I denne nye versjonen av Java SE 24, en av de de viktigste forbedringene er innføringen av En eksperimentell generativ modus for Shenandoah søppelsamleren (designet for å behandle nye og gamle objekter separat). Denne nye modusen forbedrer effektiviteten ved rengjøring av kortlivede objekter, optimerer minnebruken og gir mer stabil ytelse under varierende belastning.
En annen nyhet som skiller seg ut er Eksperimentell støtte for kompakte objekthoder i HotSpot JVM, og reduserer størrelsen fra 96 til 64 biter på 64-bits systemer. Denne optimaliseringen bidrar til å redusere haugstørrelsen og forbedre effektiviteten til minnebufferen.
Søppeloppsamleren G1 har også blitt optimalisert med et redesign av barrierene som overvåker tilgang til minne for applikasjoner. Barriereutvidelse utføres nå senere i kompileringsprosessen i C2 JIT-kompilatoren, noe som reduserer overheaden med opptil 20 %, avhengig av applikasjonstypen.
Sikkerhet og kryptering forbedringer
Java SE 24 introduserer et API for utledningen av kryptografiske nøkler (KDF), tillater generering av ekstra nøkler fra en hemmelig nøkkel og et vilkårlig sett med data. Denne API-en, som fortsatt er i forhåndsvisningsfasen, styrker sikkerheten i nøkkeladministrasjonen i plattformen.
Videre Advarsler om bruk av APIer er lagt til Java Native Interface og Foreign Function & Memory, som forberedelse til fremtidig implementering av en integritetsmodus, som vil begrense standardtilgang til opprinnelig kode. Advarsler er også aktivert ved bruk av eksterne minnetilgangsmetoder via sun.misc.Unsafe-klassen, og anbefaler migrering til VarHandle API.
På den annen side, i Java SE 24 støtte for ML-KEM kryptografiske algoritmer og ML-DSA (designet for å være motstandsdyktig mot kvantedataangrep). Disse algoritmene er basert på nettverksteoretiske problemer, og sikrer at løsningstidene er like på både konvensjonelle og kvantedatamaskiner.
Java Security Manager, som hadde blitt avviklet siden støtten for nettleserplugin forsvant, har blitt permanent fjernet.
Optimaliseringer
JVM HotSpot tillater nå forhåndsinnlasting og kobling av klasser tidlig, noe som gjør oppstart av applikasjoner betydelig raskere. Ved første kjøring bufres statusen til klassene for å lette lasting ved fremtidige starter.
Også, Implementeringen av Scoped Values har blitt forbedret, som nå stillater deling av uforanderlige data mellom tråder mer effektivt, og erstatter den tradisjonelle trådlokale variable mekanismen. Dette er spesielt gunstig når du arbeider med millioner av virtuelle tråder samtidig.
En annen nyhet er optimalisering av virtuelle tråder i blokkerte tilstander. I denne utgivelsen frigir en blokkert virtuell tråd plattformtråden sin, slik at den kan gjenbrukes av andre tråder, noe som forbedrer skalerbarheten på systemer med høy flertrådsbruk.
Av andre endringer som skiller seg ut:
- Ny utvidelse til Stream API, som lar deg definere egendefinerte mellomoperasjoner.
- Mønstertilpasningsmotorer har blitt forbedret for å støtte primitive typer (int, byte, char, etc.) i bryteruttrykk og instanceof-operatoren.
- En fjerde forhåndsversjon av Structured Concurrency API er lagt til, som forenkler utviklingen av flertrådede applikasjoner ved å behandle oppgaver på forskjellige tråder som en enkelt utførelsesenhet.
- En enklere måte å deklarere klasser og definere main()-metoden har blitt introdusert, og eliminerer behovet for å definere en offentlig klasse med statiske metoder.
- En klassefil API er lagt til, slik at du kan analysere, generere og transformere Java-klassefiler enklere og mer programmatisk.
Til slutt, hvis du er interessert i å kunne vite mer om det, kan du se detaljene i følgende lenke.
Last ned Java SE 24
For de som er interessert i å installere den nye versjonen av Java SE 24, bør du vite at kompilasjonene (JDK, JRE og Server JRE) allerede er klare for Linux, Windows og macOS.