Java SE 24 er blevet frigivet Lær om dens nye funktioner, forbedringer og mere.

Java Platform, Standard Edition

Efter seks måneders udvikling, Oracle har annonceret udgivelsen af ​​Java SE 24, baseret på open source OpenJDK-projektet, der opretholder bagudkompatibilitet, så de fleste tidligere udviklede projekter fortsætter med at køre uden ændringer.

I modsætning til langtidssupport (LTS) udgivelser, Java SE 24 er en almindelig supportudgivelse, hvilket indebærer opdateringer indtil næste udgivelse. For dem, der leder efter langsigtet stabilitet, vil Java SE 21 og Java SE 17 fortsat blive understøttet indtil henholdsvis 2031 og 2029. Derudover vil Java SE 8 LTS udvidet support fortsætte indtil 2030, mens Java SE 11 forbliver i kraft indtil 2032.

Forbedringer og nye funktioner

I denne nye version, der præsenteres af Java SE 24, er en af ​​de vigtigste forbedringer er introduktionen af En eksperimentel generativ tilstand til Shenandoah-skraldesamleren (designet til at behandle nye og gamle genstande separat). Denne nye tilstand forbedrer effektiviteten ved rengøring af kortlivede objekter, optimerer hukommelsesforbruget og tilbyder mere stabil ydeevne under varierende belastninger.

En anden nyhed, der skiller sig ud er Eksperimentel understøttelse af kompakte objekthoveder i HotSpot JVM, hvilket reducerer dens størrelse fra 96 ​​til 64 bit på 64-bit systemer. Denne optimering hjælper med at reducere heapstørrelsen og forbedre effektiviteten af ​​hukommelsescachen.

Affaldssamleren G1 er også blevet optimeret med et redesign af de barrierer, der overvåger adgang til hukommelse af applikationer. Barriereudvidelse udføres nu senere i kompileringsprocessen i C2 JIT-kompileren, hvilket reducerer dens overhead med op til 20 %, afhængigt af applikationstypen.

Sikkerheds- og krypteringsforbedringer

Java SE 24 introducerer en API til udledningen af ​​kryptografiske nøgler (KDF), tillader generering af yderligere nøgler fra en hemmelig nøgle og et vilkårligt sæt data. Denne API, der stadig er i preview-fasen, styrker sikkerheden i nøgleadministration på platformen.

Derudover Advarsler om brugen af ​​API'er er blevet tilføjet Java Native Interface og Foreign Function & Memory, som forberedelse til den fremtidige implementering af en integritetstilstand, som vil begrænse standardadgang til oprindelig kode. Advarsler er også blevet aktiveret ved brug af metoder til ekstern hukommelsesadgang via sun.misc.Unsafe-klassen, hvilket anbefaler migrering til VarHandle API.

På den anden side, i Java SE 24 understøttelse af ML-KEM kryptografiske algoritmer og ML-DSA (designet til at være modstandsdygtig over for kvantecomputerangreb). Disse algoritmer er baseret på netværksteoretiske problemer, hvilket sikrer, at løsningstider er ækvivalente på både konventionelle og kvantecomputere.

Java Security Manager, som var blevet forældet siden forsvinden af ​​understøttelse af browserplugin, er blevet permanent fjernet.

optimeringer

JVM HotSpot tillader nu forudindlæsning og sammenkædning af klasser tidligt, hvilket fremskynder applikationsstart markant. Ved første kørsel cachelagres klassernes tilstand for at lette indlæsningen ved fremtidige starter.

også, Implementeringen af ​​Scoped Values ​​er blevet forbedret, som nu stillader deling af uforanderlige data mellem tråde mere effektivt og erstatter den traditionelle trådlokale variable mekanisme. Dette er især fordelagtigt, når du arbejder med millioner af virtuelle tråde samtidigt.

En anden nyhed er optimering af virtuelle tråde i blokerede tilstande. I denne udgivelse frigiver en blokeret virtuel tråd sin platformstråd, så den kan genbruges af andre tråde, hvilket forbedrer skalerbarheden på systemer med høj multithreading-brug.

Af andre ændringer, der skiller sig ud:

  • Ny udvidelse til Stream API, der giver dig mulighed for at definere tilpassede mellemliggende operationer.
  • Mønstertilpasningsmotorer er blevet forbedret til at understøtte primitive typer (int, byte, char osv.) i switch-udtryk og instanceof-operatoren.
  • En fjerde preview-version af Structured Concurrency API er blevet tilføjet, som forenkler udviklingen af ​​multithreaded-applikationer ved at behandle opgaver på forskellige tråde som en enkelt eksekveringsenhed.
  • En enklere måde at erklære klasser og definere main() metoden er blevet introduceret, hvilket eliminerer behovet for at definere en offentlig klasse med statiske metoder.
  • En klassefil-API er blevet tilføjet, så du kan parse, generere og transformere Java-klassefiler nemmere og mere programmatisk.

Endelig, hvis du er interesseret i at kunne vide mere om det, kan du konsultere detaljerne i følgende link.

Download Java SE 24

For dem, der er interesseret i at installere den nye version af Java SE 24, skal du vide, at kompileringerne (JDK, JRE og Server JRE) allerede er klar til Linux, Windows og macOS.