Java SE 19 Verëffentlechung

No sechs Méint Entwécklung huet Oracle d'Java SE 19 (Java Platform, Standard Edition 19) Plattform verëffentlecht, déi den OpenJDK Open Source Projet als Referenzimplementatioun benotzt. Mat Ausnam vun der Entfernung vun e puer deprecéierten Features, hält Java SE 19 Réckkompatibilitéit mat fréiere Verëffentlechungen vun der Java Plattform - déi meescht virdru geschriwwe Java Projete funktionnéieren nach ëmmer ouni Ännerung wann se ënner der neier Versioun lafen. Installéierbar Builds vu Java SE 19 (JDK, JRE a Server JRE) si virbereet fir Linux (x86_64, AArch64), Windows (x86_64) a macOS (x86_64, AArch64). Entwéckelt vum OpenJDK Projet, d'Java 19 Referenz Implementatioun ass voll Open Source ënner der GPLv2 Lizenz mat GNU ClassPath Ausnahmen fir dynamesch Verknëppung mat kommerziellen Produkter z'erméiglechen.

Java SE 19 ass als regulär Ënnerstëtzungsverëffentlechung kategoriséiert, mat Updates fir virun der nächster Verëffentlechung verëffentlecht ze ginn. De Long Term Support (LTS) Branche soll Java SE 17 sinn, déi Updates bis 2029 kréien. Erënneren, datt ugefaang mat der Verëffentlechung vun Java 10, de Projet op en neien Entwécklung Prozess gewiesselt, deen e méi kuerz Zyklus fir d'Bildung vun neie Verëffentlechungen implizéiert. Nei Funktionalitéit gëtt elo an enger stänneg aktualiséierter Master-Branche entwéckelt, déi scho fäerdeg Ännerunge integréiert an aus deenen d'Branchen all sechs Méint verzweigt ginn fir nei Verëffentlechungen ze stabiliséieren.

Nei Features am Java 19 enthalen:

  • Virleefeg Ënnerstëtzung fir Rekordmuster gouf proposéiert, d'Java 16 Muster passend Fäegkeet verlängert fir d'Wäerter vun de Klassen vum Typ Record ze analyséieren. Zum Beispill: Rekord Punkt (int x, int y) {} void printSum (Objekt o) { if (o instanceof Point (int x, int y)) { System.out.println(x+y); } }
  • Linux Builds bidden Ënnerstëtzung fir d'RISC-V Architektur.
  • Füügt virleefeg Ënnerstëtzung fir d'FFM (Foreign Function & Memory) API, déi Iech erlaabt d'Interaktioun vu Java Programmer mat externen Code an Daten ze organiséieren duerch Urufffunktiounen aus externe Bibliothéiken an Zougang zu Erënnerung ausserhalb vum JVM.
  • Zousätzlech Ënnerstëtzung fir virtuelle Threads, déi liicht Threads sinn, déi d'Schreiwen staark vereinfachen an d'High-Performance Multi-threaded Uwendungen erhalen.
  • Déi véiert virleefeg Ëmsetzung vun der Vector API gëtt proposéiert, déi Funktiounen fir Vecteure Berechnungen ubitt, déi mat de Vektorinstruktioune vun den x86_64 an AArch64 Prozessoren ausgeführt ginn an Iech gläichzäiteg Operatiounen op verschidde Wäerter gläichzäiteg (SIMD) erlaben. Am Géigesaz zu de Fäegkeeten, déi am HotSpot JIT Compiler fir Autovektoriséierung vu scalar Operatiounen zur Verfügung gestallt ginn, mécht déi nei API et méiglech, explizit Vektoriséierung fir parallel Datenveraarbechtung ze kontrolléieren.
  • Eng drëtt experimentell Implementatioun vu Mustermatching a Schalterausdréck gouf bäigefüügt, wat et erlaabt flexibel Templates ze benotzen am Fall Etiketten déi eng Serie vu Wäerter gläichzäiteg ofdecken, fir déi ëmständlech Ketten vu if ... else Aussoe virdru benotzt goufen. Objekt o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("lang %d", l); case Double d -> String.format("duebel %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Eng experimentell Structured Parallelism API gouf bäigefüügt, déi et méi einfach mécht Multi-threaded Uwendungen z'entwéckelen andeems verschidde Aufgaben op verschiddene Threads als eenzeg Eenheet behandelen.

Source: opennet.ru

Setzt e Commentaire