Java SE 19 utgivelse

Etter seks måneder med utvikling, ga Oracle ut Java SE 19 (Java Platform, Standard Edition 19), som bruker OpenJDK åpen kildekode-prosjektet som referanseimplementering. Med unntak av fjerning av noen foreldede funksjoner, opprettholder Java SE 19 bakoverkompatibilitet med tidligere utgivelser av Java-plattformen - de fleste tidligere skrevne Java-prosjekter vil fungere uten endringer når de kjøres under den nye versjonen. Klar til å installere bygg av Java SE 19 (JDK, JRE og Server JRE) er forberedt for Linux (x86_64, AArch64), Windows (x86_64) og macOS (x86_64, AArch64). Java 19-referanseimplementeringen er utviklet av OpenJDK-prosjektet og er fullstendig åpen kildekode under GPLv2-lisensen, med GNU ClassPath-unntak som tillater dynamisk kobling med kommersielle produkter.

Java SE 19 er klassifisert som en generell støtteutgivelse og vil fortsette å motta oppdateringer til neste utgivelse. Long Term Support (LTS)-grenen bør være Java SE 17, som vil fortsette å motta oppdateringer frem til 2029. La oss minne deg på at fra og med utgivelsen av Java 10, gikk prosjektet over til en ny utviklingsprosess, noe som innebar en kortere syklus for dannelsen av nye utgivelser. Ny funksjonalitet utvikles nå i én konstant oppdatert hovedgren, som inkluderer ferdige endringer og hvor grener forgrenes hvert halvår for å stabilisere nye utgivelser.

Nye funksjoner i Java 19 inkluderer:

  • Foreløpig støtte for rekordmønstre har blitt foreslått, og utvider mønstertilpasningsfunksjonen introdusert i Java 16 med verktøy for å analysere verdiene til rekordklasser. For eksempel: record Point(int x, int y) {} void printSum(Objekt o) { if (o instans av Point(int x, int y)) { System.out.println(x+y); } }
  • Linux-bygg gir støtte for RISC-V-arkitekturen.
  • Lagt til foreløpig støtte for FFM (Foreign Function & Memory) API, som lar deg organisere samspillet mellom Java-programmer med ekstern kode og data ved å kalle opp funksjoner fra eksterne biblioteker og få tilgang til minne utenfor JVM.
  • Lagt til støtte for virtuelle tråder, som er lette tråder som i stor grad forenkler skriving og vedlikehold av høyytelses flertrådsapplikasjoner.
  • En fjerde forhåndsvisning av Vector API har blitt foreslått, og gir funksjoner for vektorberegninger som utføres ved hjelp av vektorinstruksjoner på x86_64- og AArch64-prosessorer og lar operasjoner brukes samtidig på flere verdier (SIMD). I motsetning til mulighetene gitt i HotSpot JIT-kompilatoren for autovektorisering av skalaroperasjoner, gjør det nye API-et det mulig å eksplisitt kontrollere vektorisering for parallell databehandling.
  • En tredje eksperimentell implementering av mønstertilpasning i "switch"-uttrykk er lagt til, som tillater bruk i "case"-etiketter ikke av eksakte verdier, men av fleksible mønstre som dekker en serie verdier på en gang, som tidligere var nødvendig å bruke tungvinte kjeder av "hvis ... annet" uttrykk. Objekt o = 123L; String formatted = switch (o) { case Heltall i -> String.format("int %d", i); kasus Lang l -> String.format("lang %d", l); kasus Dobbel d -> String.format("dobbel %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Lagt til et eksperimentelt API for strukturert parallellisme, som forenkler utviklingen av flertrådede applikasjoner ved å behandle flere oppgaver som kjører i forskjellige tråder som en enkelt blokk.

Kilde: opennet.ru

Legg til en kommentar