Κυκλοφορία Java SE 19

Μετά από έξι μήνες ανάπτυξης, η Oracle κυκλοφόρησε την πλατφόρμα Java SE 19 (Java Platform, Standard Edition 19), η οποία χρησιμοποιεί το έργο ανοιχτού κώδικα OpenJDK ως υλοποίηση αναφοράς. Με εξαίρεση την κατάργηση ορισμένων λειτουργιών που έχουν καταργηθεί, το Java SE 19 διατηρεί συμβατότητα προς τα πίσω με προηγούμενες εκδόσεις της πλατφόρμας Java—τα περισσότερα έργα Java που γράφτηκαν προηγουμένως θα εξακολουθούν να λειτουργούν χωρίς τροποποίηση κατά την εκτέλεση της νέας έκδοσης. Οι έτοιμες προς εγκατάσταση εκδόσεις Java SE 19 (JDK, JRE και Server JRE) προετοιμάζονται για Linux (x86_64, AArch64), Windows (x86_64) και macOS (x86_64, AArch64). Αναπτύχθηκε από το έργο OpenJDK, η υλοποίηση αναφοράς Java 19 είναι πλήρως ανοιχτή με την άδεια GPLv2 με εξαιρέσεις GNU ClassPath για να επιτρέπεται η δυναμική σύνδεση με εμπορικά προϊόντα.

Το Java SE 19 κατηγοριοποιείται ως κανονική έκδοση υποστήριξης, με ενημερώσεις που θα κυκλοφορούν πριν από την επόμενη έκδοση. Ο κλάδος μακροπρόθεσμης υποστήριξης (LTS) θα πρέπει να είναι η Java SE 17, η οποία θα λαμβάνει ενημερώσεις μέχρι το 2029. Θυμηθείτε ότι ξεκινώντας με την κυκλοφορία της Java 10, το έργο μεταπήδησε σε μια νέα διαδικασία ανάπτυξης, η οποία συνεπάγεται έναν συντομότερο κύκλο για τη δημιουργία νέων εκδόσεων. Νέα λειτουργικότητα αναπτύσσεται τώρα σε ένα διαρκώς ενημερωμένο κύριο υποκατάστημα, το οποίο ενσωματώνει ήδη ολοκληρωμένες αλλαγές και από το οποίο διακλαδίζονται υποκαταστήματα κάθε έξι μήνες για τη σταθεροποίηση των νέων εκδόσεων.

Οι νέες δυνατότητες στην Java 19 περιλαμβάνουν:

  • Έχει προταθεί προκαταρκτική υποστήριξη για μοτίβα εγγραφών, επεκτείνοντας την ικανότητα αντιστοίχισης μοτίβων Java 16 για την ανάλυση των τιμών των κλάσεων εγγραφής τύπου. Για παράδειγμα: εγγραφή Σημείο(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Οι εκδόσεις Linux παρέχουν υποστήριξη για την αρχιτεκτονική RISC-V.
  • Προστέθηκε προκαταρκτική υποστήριξη για το API FFM (Foreign Function & Memory), το οποίο σας επιτρέπει να οργανώσετε την αλληλεπίδραση προγραμμάτων Java με εξωτερικό κώδικα και δεδομένα μέσω λειτουργιών κλήσης από εξωτερικές βιβλιοθήκες και πρόσβασης στη μνήμη εκτός του JVM.
  • Προστέθηκε υποστήριξη για εικονικά νήματα, τα οποία είναι ελαφριά νήματα που απλοποιούν σημαντικά τη σύνταξη και τη διατήρηση εφαρμογών πολλαπλών νημάτων υψηλής απόδοσης.
  • Προτείνεται η τέταρτη προκαταρκτική εφαρμογή του Vector API, το οποίο παρέχει λειτουργίες για υπολογισμούς διανυσμάτων που εκτελούνται χρησιμοποιώντας τις διανυσματικές οδηγίες των επεξεργαστών x86_64 και AArch64 και σας επιτρέπουν να εφαρμόζετε ταυτόχρονα λειτουργίες σε πολλές τιμές ταυτόχρονα (SIMD). Σε αντίθεση με τις δυνατότητες που παρέχονται στον μεταγλωττιστή HotSpot JIT για αυτόματη διανυσματοποίηση βαθμωτών λειτουργιών, το νέο API καθιστά δυνατό τον ρητό έλεγχο της διανυσματοποίησης για παράλληλη επεξεργασία δεδομένων.
  • Προστέθηκε μια τρίτη πειραματική εφαρμογή αντιστοίχισης προτύπων σε εκφράσεις διακόπτη, η οποία επιτρέπει τη χρήση ευέλικτων προτύπων σε ετικέτες πεζών-κεφαλαίων που καλύπτουν μια σειρά τιμών ταυτόχρονα, για τις οποίες είχαν χρησιμοποιηθεί προηγουμένως δυσκίνητες αλυσίδες δηλώσεων if...else. Αντικείμενο o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); προεπιλογή -> o.toString(); };
  • Προστέθηκε ένα πειραματικό Structured Parallelism API που διευκολύνει την ανάπτυξη εφαρμογών πολλαπλών νημάτων αντιμετωπίζοντας πολλαπλές εργασίες που εκτελούνται σε διαφορετικά νήματα ως μια ενιαία μονάδα.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο