Μετά από έξι μήνες ανάπτυξης, Η Oracle ανακοίνωσε την κυκλοφορία του Java SE 24, που βασίζεται στο έργο ανοιχτού κώδικα OpenJDK, διατηρώντας τη συμβατότητα προς τα πίσω, έτσι ώστε τα περισσότερα έργα που έχουν αναπτυχθεί προηγουμένως να συνεχίσουν να εκτελούνται χωρίς τροποποιήσεις.
Σε αντίθεση με τις εκδόσεις μακροπρόθεσμης υποστήριξης (LTS), Το Java SE 24 είναι μια τακτική έκδοση υποστήριξης, που συνεπάγεται ενημερώσεις μέχρι την επόμενη έκδοση. Για όσους αναζητούν μακροπρόθεσμη σταθερότητα, η Java SE 21 και η Java SE 17 θα συνεχίσουν να υποστηρίζονται έως το 2031 και το 2029, αντίστοιχα. Επιπλέον, η εκτεταμένη υποστήριξη Java SE 8 LTS θα συνεχιστεί μέχρι το 2030, ενώ η Java SE 11 θα παραμείνει σε ισχύ μέχρι το 2032.
Βελτιώσεις και νέα χαρακτηριστικά
Σε αυτή τη νέα έκδοση που παρουσιάζεται του Java SE 24, ένα από τα σημαντικότερες βελτιώσεις είναι η εισαγωγή του Μια πειραματική λειτουργία παραγωγής για τον συλλέκτη σκουπιδιών Shenandoah (σχεδιασμένο για να επεξεργάζεται νέα και παλιά αντικείμενα ξεχωριστά). Αυτή η νέα λειτουργία βελτιώνει την αποτελεσματικότητα κατά τον καθαρισμό αντικειμένων μικρής διάρκειας, βελτιστοποιεί τη χρήση της μνήμης και προσφέρει πιο σταθερή απόδοση κάτω από διαφορετικά φορτία.
Μια άλλη καινοτομία που ξεχωρίζει είναι η Πειραματική υποστήριξη για κεφαλίδες συμπαγών αντικειμένων στο HotSpot JVM, μειώνοντας το μέγεθός του από 96 σε 64 bit σε συστήματα 64 bit. Αυτή η βελτιστοποίηση βοηθά στη μείωση του μεγέθους του σωρού και στη βελτίωση της αποτελεσματικότητας της κρυφής μνήμης.
Ο συλλέκτης σκουπιδιών Το G1 έχει επίσης βελτιστοποιηθεί με επανασχεδιασμό των εμποδίων που παρακολουθούν την πρόσβαση στη μνήμη από τις εφαρμογές. Η επέκταση φραγμού εκτελείται τώρα αργότερα στη διαδικασία μεταγλώττισης εντός του μεταγλωττιστή C2 JIT, μειώνοντας τα γενικά του έξοδα έως και 20%, ανάλογα με τον τύπο της εφαρμογής.
Βελτιώσεις ασφάλειας και κρυπτογράφησης
Το Java SE 24 εισάγει ένα API για η παραγωγή κρυπτογραφικών κλειδιών (KDF), επιτρέποντας τη δημιουργία πρόσθετων κλειδιών από ένα μυστικό κλειδί και ένα αυθαίρετο σύνολο δεδομένων. Αυτό το API, που βρίσκεται ακόμα σε φάση προεπισκόπησης, ενισχύει την ασφάλεια στη διαχείριση κλειδιών εντός της πλατφόρμας.
Επιπλέον, Προστέθηκαν προειδοποιήσεις σχετικά με τη χρήση API Java Native Interface και Ξένη Λειτουργία & Μνήμη, στο πλαίσιο της προετοιμασίας για τη μελλοντική εφαρμογή μιας λειτουργίας ακεραιότητας, η οποία θα περιορίζει την προεπιλεγμένη πρόσβαση στον εγγενή κώδικα. Οι προειδοποιήσεις έχουν επίσης ενεργοποιηθεί κατά τη χρήση μεθόδων πρόσβασης εξωτερικής μνήμης μέσω της κλάσης sun.misc.Unsafe, συνιστώντας τη μετεγκατάσταση στο VarHandle API.
Από την άλλη πλευρά, στην Java SE 24 το υποστήριξη για κρυπτογραφικούς αλγόριθμους ML-KEM και ML-DSA (σχεδιασμένο να είναι ανθεκτικό σε επιθέσεις κβαντικών υπολογιστών). Αυτοί οι αλγόριθμοι βασίζονται σε προβλήματα θεωρίας δικτύου, διασφαλίζοντας ότι οι χρόνοι επίλυσης είναι ισοδύναμοι τόσο σε συμβατικούς όσο και σε κβαντικούς υπολογιστές.
Το Java Security Manager, το οποίο είχε καταργηθεί μετά την εξαφάνιση της υποστήριξης προσθηκών προγράμματος περιήγησης, έχει καταργηθεί οριστικά.
Βελτιστοποιήσεις
Το JVM HotSpot επιτρέπει πλέον την προφόρτωση και τη σύνδεση τάξεων νωρίς, γεγονός που επιταχύνει σημαντικά την εκκίνηση της εφαρμογής. Κατά την πρώτη εκτέλεση, η κατάσταση των κλάσεων αποθηκεύεται προσωρινά για να διευκολυνθεί η φόρτωση σε μελλοντικές εκκινήσεις.
επίσης Η εφαρμογή των τιμών εύρους έχει βελτιωθεί, που τώρα σελεπιτρέπει την κοινή χρήση αμετάβλητων δεδομένων μεταξύ νημάτων πιο αποτελεσματικά, αντικαθιστώντας τον παραδοσιακό νήμα-τοπικό μηχανισμό μεταβλητής. Αυτό είναι ιδιαίτερα ωφέλιμο όταν εργάζεστε με εκατομμύρια εικονικά νήματα ταυτόχρονα.
Μια άλλη καινοτομία είναι η βελτιστοποίηση εικονικών νημάτων σε μπλοκαρισμένες καταστάσεις. Σε αυτήν την έκδοση, ένα αποκλεισμένο εικονικό νήμα απελευθερώνει το νήμα της πλατφόρμας του, επιτρέποντάς του να επαναχρησιμοποιηθεί από άλλα νήματα, βελτιώνοντας την επεκτασιμότητα σε συστήματα με υψηλή χρήση πολλαπλών νημάτων.
Του άλλες αλλαγές που ξεχωρίζουν:
- Νέα επέκταση στο Stream API, που σας επιτρέπει να ορίσετε προσαρμοσμένες ενδιάμεσες λειτουργίες.
- Οι μηχανές αντιστοίχισης μοτίβων έχουν βελτιωθεί για να υποστηρίζουν πρωτόγονους τύπους (int, byte, char, κ.λπ.) στις εκφράσεις διακόπτη και το instanceof τελεστή.
- Προστέθηκε μια τέταρτη έκδοση προεπισκόπησης του Structured Concurrency API, η οποία απλοποιεί την ανάπτυξη εφαρμογών πολλαπλών νημάτων αντιμετωπίζοντας τις εργασίες σε διαφορετικά νήματα ως μια ενιαία μονάδα εκτέλεσης.
- Ένας απλούστερος τρόπος δήλωσης κλάσεων και ορισμού της μεθόδου main() έχει εισαχθεί, εξαλείφοντας την ανάγκη ορισμού μιας δημόσιας κλάσης με στατικές μεθόδους.
- Προστέθηκε ένα API αρχείου κλάσης, το οποίο σας επιτρέπει να αναλύετε, να δημιουργείτε και να μετασχηματίζετε αρχεία κλάσης Java πιο εύκολα και μέσω προγραμματισμού.
Τέλος, εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε τις λεπτομέρειες στο παρακάτω σύνδεσμο.
Κατεβάστε το Java SE 24
Για όσους ενδιαφέρονται να εγκαταστήσουν τη νέα έκδοση της Java SE 24, θα πρέπει να γνωρίζουν ότι οι συλλογές (JDK, JRE και Server JRE) είναι ήδη έτοιμες για Linux, Windows και macOS.