Izlaisti Java SE 27 un OpenJDK 27

Pēc seÅ”u mēneÅ”u izstrādes Oracle ir izlaidis Java SE 27 (Java Platform, Standard Edition 27), kas kā atsauces ievieÅ”anu izmanto atvērtā koda OpenJDK projektu. Izņemot dažu novecojuÅ”u funkciju noņemÅ”anu, Java SE 27 saglabā atpakaļsaderÄ«bu ar iepriekŔējām Java platformas versijām — lielākā daļa iepriekÅ” rakstÄ«to Java projektu darbosies nemainÄ«ti, darbojoties jaunajā versijā. InstalēŔanai gatavas Java SE 27 (JDK, JRE un Server JRE) versijas ir sagatavotas Linux (x86_64, AArch64), Windows (x86_64) un macOS (x86_64, AArch64). Izstrādāta OpenJDK projekta ietvaros, Java SE 27 atsauces implementācija ir pilnÄ«bā atvērtā koda saskaņā ar GPLv2 licenci ar GNU ClassPath izņēmumu, kas ļauj dinamiski sasaistÄ«t ar komerciāliem produktiem.

Java SE 27 tiek klasificēta kā regulāra atbalsta laidiens, un atjauninājumi tiek izlaisti lÄ«dz nākamajai laidienam. Ilgtermiņa atbalsta (LTS) atzaram vajadzētu bÅ«t Java SE 25, Java SE 21 vai Java SE 17, un atjauninājumi tiek izlaisti attiecÄ«gi lÄ«dz 2033., 2031. un 2029. gadam (vispārēji pieejami lÄ«dz 2030., 2028. un 2026. gada septembrim). PaplaÅ”inātais atbalsts Java SE 8 LTS atzaram turpināsies lÄ«dz 2030. gadam, bet Java SE 11 - lÄ«dz 2032. gadam.

Izmaiņas Java SE 27 (1, 2, 3, 4) ietver:

  • Pēc noklusējuma visās vidēs tiek izmantots G1 (Garbage-First) atkritumu savācējs, kas iepriekÅ” tika izmantots serveru sistēmām. G1 ir optimizēts lietoÅ”anai daudzprocesoru sistēmās ar lielu atmiņas ietilpÄ«bu un paredzamas latentuma lÄ«dzsvaroÅ”anai ar augstu caurlaidspēju. DarbÄ«bas laikā G1 sadala atmiņu daudzos mazos reÄ£ionos un pieŔķir prioritāti tiem reÄ£ioniem, kuros ir vairāk neizmantotu objektu un mazāk aktÄ«vi piekļūti dati.
  • HotSpot JVM pēc noklusējuma izmanto kompaktas objektu galvenes. 64 bitu sistēmās galvenes lielums ir samazināts no 96 lÄ«dz 64 bitiem, samazinot atmiņas patēriņu un palielinot datu nonākÅ”anas procesora keÅ”atmiņā iespējamÄ«bu. SPECjbb2015 etalontestos atmiņas patēriņŔ samazinājās par 22 %, centrālā procesora slodze samazinājās par 8 % un atkritumu savākÅ”anas operāciju skaits samazinājās par 15 %. JSON parsētāja testa izpildes laiks tika samazināts par 10 %.
  • TLS 1.3 ievieÅ”ana pievieno atbalstu hibrÄ«dajām atslēgu vienoÅ”anās shēmām, kas apvieno kvantu izturÄ«go ML-KEM (CRYSTALS-Kyber) algoritmu ar klasiskajiem ECDHE eliptisko lÄ«kņu algoritmiem: X25519MLKEM768 (ECDHE ar X25519 lÄ«kni + ML-KEM-768), SecP256r1MLKEM76 (ECDHE ar secp256r1 lÄ«kni + ML-KEM-768) un SecP384r1MLKEM1024 (ECDHE ar secp384r1 lÄ«kni + ML-KEM-1024). Javax.net API.SSL Å Ä«s shēmas ir iespējotas pēc noklusējuma, un to lietoÅ”anai nav nepiecieÅ”amas nekādas izmaiņas lietojumprogrammā.
  • JDK Flight Recorder (JFR), rÄ«ks, ko izmanto veiktspējas uzraudzÄ«bai, profilēŔanai un diagnostikai, tagad atbalsta komandrindas argumentu, vides mainÄ«go sākotnējo vērtÄ«bu un sistēmas rekvizÄ«tu attÄ«rīŔanu saglabātajā diagnostikas informācijā. Å Ä«s izmaiņas novērÅ” profilētā procesa apstrādāto sensitÄ«vo datu, piemēram, autorizācijas žetonu un API piekļuves atslēgu, kas nodotas, izmantojot vides mainÄ«gos, noplÅ«di.
  • Ir ieviesta treŔā Lazy Constants API versija darbam ar objektiem, kas satur nemaināmus datus un tiek apstrādāti kā konstantes JVM. Šādiem objektiem tiek piemērotas lÄ«dzÄ«gas veiktspējas optimizācijas kā laukiem ar atslēgvārdu "final". AtŔķirÄ«bā no "final", jaunā API atdala konstantu vērtÄ«bu izveidi no to inicializācijas, garantē, ka vērtÄ«bu var inicializēt tikai vienu reizi, samazina programmas startēŔanas laiku un ļauj lietotāja kodā izmantot konstantu locīŔanas optimizācijas, kas iepriekÅ” tika izmantotas tikai JDK iekŔējā kodā. class Application { // IepriekÅ”: // static final UserService USERS = new UserService(); // Tagad: static final StableValue LIETOTĀJI = StableValue.of(); public static Lietotāja pakalpojuma lietotāji() { return LIETOTĀJI.orElseSet(Lietotāja pakalpojums::new); } }
  • Rakstu saskaņoÅ”anas dzinējs ievieÅ” piekto versiju primitÄ«vo tipu (int, byte, char un citus neobjektu bāzes tipus) izmantoÅ”anas iespējai visu veidu modeļos, instanceof operatorā un switch blokos. switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b … }
  • TestēŔanai ir izlaists septÄ«tais Structured Concurrency API melnraksts, kas vienkārÅ”o daudzpavedienu lietojumprogrammu izstrādi, apstrādājot vairākus uzdevumus, kas darbojas dažādos pavedienos, kā vienu vienÄ«bu.
  • Ir ieviesta divpadsmitā Vector API testa implementācija. Å Ä« API nodroÅ”ina funkcijas vektoru aprēķiniem, kas veikti, izmantojot x86_64 un AArch64 procesora vektoru instrukcijas, un ļauj veikt vienlaicÄ«gas darbÄ«bas ar vairākām vērtÄ«bām (SIMD). AtŔķirÄ«bā no HotSpot JIT kompilatora skalāro operāciju automātiskās vektorizācijas, jaunā API ļauj tieÅ”i kontrolēt vektorizāciju paralēlai datu apstrādei.
  • Tagad ir pieejama treŔā API versija objektu, kas satur kriptogrāfiskās atslēgas, sertifikātus un sertifikātu atsaukÅ”anas sarakstus, kodēŔanai un dekodēŔanai, izmantojot PEM (ar privātuma aizsardzÄ«bu uzlabota pasta) formātu.

Turklāt ar prieku paziņojam par JavaFX 27 platformas atjauninājuma izlaiÅ”anu grafisko lietotāja saskarņu lietojumprogrammu izveidei. Tuvākajās stundās gaidāma arÄ« universālās virtuālās maŔīnas GraalVM 27 izlaiÅ”ana, kas atbalsta lietojumprogrammu palaiÅ”anu JavaScript (Node.js), Python, Ruby, R, jebkurā JVM valodā (Java, Scala, Clojure, Kotlin) un valodās, kurām var Ä£enerēt LLVM bitkodu (C, C++, Rust).

Avots: opennet.ru

Iegādājieties uzticamu mitināŔanu vietnēm ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa vietņu mitināŔanu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster