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

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

Το Java SE 13 ταξινομείται ως έκδοση γενικής υποστήριξης και θα συνεχίσει να λαμβάνει ενημερώσεις μέχρι την επόμενη έκδοση. Ο κλάδος Long Term Support (LTS) θα πρέπει να είναι η Java SE 11, η οποία θα συνεχίσει να λαμβάνει ενημερώσεις μέχρι το 2026. Ο προηγούμενος κλάδος LTS της Java 8 θα υποστηρίζεται μέχρι τον Δεκέμβριο του 2020. Η επόμενη κυκλοφορία του LTS έχει προγραμματιστεί για τον Σεπτέμβριο του 2021. Να σας υπενθυμίσουμε ότι ξεκινώντας με την κυκλοφορία της Java 10, το έργο μεταπήδησε σε μια νέα διαδικασία ανάπτυξης, υποδηλώνοντας έναν μικρότερο κύκλο για τη δημιουργία νέων εκδόσεων. Νέα λειτουργικότητα αναπτύσσεται τώρα σε έναν συνεχώς ενημερωμένο κύριο κλάδο, ο οποίος περιλαμβάνει έτοιμες αλλαγές και από τον οποίο διακλαδίζονται υποκαταστήματα κάθε έξι μήνες για τη σταθεροποίηση των νέων εκδόσεων. Το Java 14 έχει προγραμματιστεί να κυκλοφορήσει τον Μάρτιο του επόμενου έτους, με ήδη εκδόσεις προεπισκόπησης διαθέσιμος για δοκιμή.

από καινοτομίες Java 13 μπορεί κανείς να σημάδι:

  • Προστέθηκε υποστήριξη για δυναμική προσθήκη αρχείων CDS (Class-Data Sharing), παρέχοντας πρόσβαση σε κοινόχρηστες εφαρμογές σε κοινές κλάσεις. Με το CDS, οι κοινές τάξεις μπορούν να τοποθετηθούν σε ένα ξεχωριστό, κοινόχρηστο αρχείο, επιτρέποντας στις εφαρμογές να ξεκινούν πιο γρήγορα και να μειώνουν τα έξοδα. Η νέα έκδοση προσθέτει εργαλεία για δυναμική αρχειοθέτηση κλάσεων μετά το τέλος της εκτέλεσης της εφαρμογής. Οι αρχειοθετημένες κλάσεις περιλαμβάνουν όλες τις κλάσεις και τις συνοδευτικές βιβλιοθήκες που φορτώθηκαν κατά τη λειτουργία του προγράμματος και δεν βρίσκονταν στο αρχικό αρχειοθέτημα του βασικού CDS.
  • Στο ZGC (Z Garbage Collector) προστέθηκε υποστήριξη για την επιστροφή αχρησιμοποίητης μνήμης στο λειτουργικό σύστημα.
  • Εμπλεγμένος μια επανασχεδιασμένη υλοποίηση του Legacy Socket API (java.net.Socket και java.net.ServerSocket) που είναι πιο εύκολο στη συντήρηση και τον εντοπισμό σφαλμάτων. Επιπλέον, η προτεινόμενη υλοποίηση θα είναι ευκολότερο να προσαρμοστεί στην εργασία με το νέο σύστημα νημάτων στο χώρο χρήστη (ίνες), που αναπτύχθηκε ως μέρος του έργου Loom.
  • Συνεχίζεται ανάπτυξη μιας νέας μορφής εκφράσεων «διακόπτης». Προστέθηκε πειραματική (Προεπισκόπηση) δυνατότητα χρήσης «διακόπτη» όχι μόνο με τη μορφή τελεστή, αλλά και ως έκφραση. Για παράδειγμα, μπορείτε τώρα να χρησιμοποιήσετε δομές όπως:

    int numLetters = διακόπτης (ημέρα) {
    περίπτωση ΔΕΥΤΕΡΑ, ΠΑΡΑΣΚΕΥΗ, ΚΥΡΙΑΚΗ -> 6;
    υπόθεση ΤΡΙΤΗ -> 7;
    περίπτωση ΠΕΜΠΤΗ, ΣΑΒΒΑΤΟ -> 8;
    υπόθεση ΤΕΤΑΡΤΗ -> 9;
    };

    ή

    System.out.println(
    διακόπτης (k) {
    περίπτωση 1 -> "ένα"
    περίπτωση 2 -> "δύο"
    προεπιλογή -> "πολλά"
    }
    );

    Στο μέλλον, με βάση αυτό το χαρακτηριστικό προγραμματίζεται εφαρμογή υποστήριξης αντιστοίχισης προτύπων.

  • Προστέθηκε πειραματική υποστήριξη για μπλοκ κειμένου - μια νέα μορφή γραμματοσειρών συμβολοσειρών που σας επιτρέπει να συμπεριλάβετε δεδομένα κειμένου πολλών γραμμών στον πηγαίο κώδικα χωρίς να χρησιμοποιήσετε τη διαφυγή χαρακτήρων και τη διατήρηση της αρχικής μορφοποίησης του κειμένου στο μπλοκ. Το μπλοκ πλαισιώνεται από τρία διπλά εισαγωγικά. Για παράδειγμα, αντί για την έκφραση

    Ερώτημα συμβολοσειράς = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    "WHERE `CITY" = 'INDIANAPOLIS'\n" +
    "ΠΑΡΑΓΓΕΛΙΑ ΑΠΟ "EMP_ID", "LAST_NAME";\n";

    Τώρα μπορείτε να χρησιμοποιήσετε την κατασκευή:

    Ερώτημα συμβολοσειράς = """
    ΕΠΙΛΕΞΤΕ "EMP_ID", "LAST_NAME" ΑΠΟ "EMPLOYEE_TB"
    WHERE 'CITY' = 'INDIANAPOLIS'
    ΠΑΡΑΓΓΕΛΙΑ ΑΠΟ "EMP_ID", "LAST_NAME";
    """;

  • Έχουν κλείσει 2126 αναφορές σφαλμάτων, εκ των οποίων οι 1454 επιλύθηκαν από υπαλλήλους της Oracle και οι 671 από τρίτα μέρη, εκ των οποίων το ένα έκτο των αλλαγών έγιναν από ανεξάρτητους προγραμματιστές και οι υπόλοιπες από εκπροσώπους εταιρειών όπως η IBM, η Red Hat, η Google , Loongson, Huawei, ARM και SAP.

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

Πηγή: opennet.ru

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