Συναρπαστικές νέες δυνατότητες στην Java 9

Τον Σεπτέμβριο, η Oracle κυκλοφόρησε το Java SE 9 με πάνω από 150 νέες δυνατότητες. Η τελευταία έκδοση της ευρέως χρησιμοποιούμενης γλώσσας προγραμματισμού συνοδεύεται από πολλές νέες δυνατότητες και API για την επιτάχυνση της ανάπτυξης εφαρμογών τόσο για μεγάλες όσο και για μικρές συσκευές. Ταυτόχρονα, οι δυνατότητες που παρέχει η Java 9 βοηθούν τους προγραμματιστές να βελτιώσουν την απόδοση, την ασφάλεια και τη συντηρησιμότητα της εφαρμογής. Ως εκ τούτου, είναι απαραίτητο για τους προγραμματιστές να κατανοήσουν ορισμένες από τις βασικές δυνατότητες που παρέχονται από την Java 9.

Τι πρέπει να γνωρίζουν οι προγραμματιστές για την Java 9;

Σύστημα Ενοτήτων

Οι προγραμματιστές μπορούν τώρα να χρησιμοποιήσουν την καλύτερη υποστήριξη για HTML5 και JavaScript για να χωρίσουν το JDK σε πολλαπλές λειτουργικές μονάδες. Κάθε αρθρωτό αρχείο JAR περιέχει έναν περιγραφέα ενότητας. Οι προγραμματιστές μπορούν να ορίσουν την αλληλεξάρτηση διαφόρων λειτουργικών μονάδων μέσω δηλώσεων απαιτήσεων. Η αρθρωτή λειτουργία διευκολύνει τους προγραμματιστές να εκτελούν ομαλά τις μονάδες JVM σε μικρές συσκευές που δεν διαθέτουν πρόσθετη μνήμη. Ταυτόχρονα, μπορούν επίσης να εκτελούν μόνο τις λειτουργικές μονάδες API και JVM που απαιτούνται από την εφαρμογή.

Σύνταξη Ahead-of-Time

Η Java 9 βελτιώνει σημαντικά τη διαδικασία μεταγλώττισης κώδικα μέσω της μεταγλώττισης εκ των προτέρων (AOT). Οι προγραμματιστές μπορούν να αξιοποιήσουν τις τάξεις Java compilation AOT σε εγγενή κώδικα ακόμη και πριν τις εκκινήσει η εικονική μηχανή. Η μεταγλώττιση AOT βελτιώνει την απόδοση τόσο μεγάλων όσο και μικρών εφαρμογών ξεπερνώντας τις μεγάλες ελλείψεις της μεταγλώττισης just-in-time (JIT). Σε αντίθεση με τη μεταγλώττιση JIT, η μεταγλώττιση AOT διασφαλίζει ότι καμία μέθοδος Java δεν παραμένει μη μεταγλωττισμένη.

Εργαλείο Real-Eval-Print-Loop

Η Java 9 συνοδεύεται από ένα νέο εργαλείο γραμμής εντολών real-eval-print-loop (REPL) – το Shell. Το Shell έχει σχεδιαστεί με χαρακτηριστικά για την αξιολόγηση δηλωτικών δηλώσεων και εκφράσεων διαδραστικά. Ένας προγραμματιστής μπορεί να χρησιμοποιήσει το Shell για να αξιολογήσει την ποιότητα του κώδικα Java πριν από τη μεταγλώττιση. Μπορεί απλώς να εισάγει ένα κομμάτι κώδικα και να συλλέγει σχόλια. Η Shell έχει ακόμη τη δυνατότητα να συμπληρώνει καρτέλες και να προσθέτει αυτόματα ερωτηματικά τερματικά. Το νέο εργαλείο REPL κάνει την Java να ανταγωνίζεται ευρέως χρησιμοποιούμενες γλώσσες προγραμματισμού όπως η Python και η Scala.

Καλύτερη υποστήριξη για HTML5 και JavaScript

Το βελτιωμένο εργαλείο τεκμηρίωσης Javadoc που παρέχεται από την Java 9 έχει τη δυνατότητα δημιουργίας σήμανσης HTML5. Επίσης, η τελευταία έκδοση της γλώσσας προγραμματισμού υποστηρίζει αρκετούς νέους χαρακτήρες, μπλοκ και σενάρια ως μέρος του προτύπου κωδικοποίησης Unicode 8.0. Ταυτόχρονα, η Java 9 διαθέτει μια βελτιωμένη και ελαφριά μηχανή JavaScript που διευκολύνει τους προγραμματιστές να ενσωματώσουν κώδικα JavaScript σε εφαρμογές Java. Οι προγραμματιστές μπορούν περαιτέρω να ενεργοποιήσουν την ανάλυση κώδικα ECMAScript σε διάφορα IDE και πλαίσια απευθείας με το API ανάλυσης για το δέντρο σύνταξης ECMAScript του Nashorn που παρέχεται από την JDK.

Βελτιωμένο API ροής

Κατά τη σύνταξη κώδικα Java, οι προγραμματιστές χρησιμοποιούν συμβολοσειρές για να εκφράσουν υπολογισμούς. Η Java 8 επιτάχυνε την επεξεργασία ροής παρέχοντας το Streams API. Η Java 9 συνοδεύεται από μια βελτιωμένη έκδοση του Streams API που επιτρέπει στους προγραμματιστές να λαμβάνουν και να αποθέτουν στοιχεία από τη ροή βάσει συγκεκριμένων συνθηκών προσθέτοντας μεθόδους. Επίσης, το βελτιωμένο API Streams έχει σχεδιαστεί με δυνατότητες δημιουργίας ροής για μηδενιζόμενη τιμή και επανάληψη πάνω από στοιχεία ροής.

API εικόνας πολλαπλής ανάλυσης

Η Java 9 εισάγει μια νέα διεπαφή – MultiResolutionImage – για τη δημιουργία μιας ενιαίας εικόνας πολλαπλής ανάλυσης ενσωματώνοντας πολλές εικόνες με διαφορετικές αναλύσεις. Οι προγραμματιστές μπορούν περαιτέρω να χρησιμοποιήσουν το API εικόνας πολλαπλής ανάλυσης που παρέχεται από την Java 9 για να λάβουν διάφορες παραλλαγές μιας μεμονωμένης εικόνας. Επίσης, μπορούν να χρησιμοποιήσουν το API για να επιλέξουν μια συγκεκριμένη εικόνα με βάση την απαιτούμενη ανάλυση. Ως εκ τούτου, οι προγραμματιστές Java μπορούν τώρα να χρησιμοποιήσουν ένα μόνο API για να δημιουργήσουν μια ενοποιημένη εικόνα πολλαπλής ανάλυσης και να λάβουν παραλλαγές εικόνας συγκεκριμένης ανάλυσης.

http://2 API πελάτη

Η Java 9 άλλαξε εντελώς τον τρόπο με τον οποίο οι εφαρμογές πραγματοποιούν κλήσεις HTTP. Αντικαθιστά το HttpURLConnection API με ένα νέο API πελάτη HTTP. Το API πελάτη HTTP υποστηρίζει και τα δύο http://2 και WebSockets. Ωστόσο, το API δεν αποτελεί προς το παρόν μέρος της Java SE. Υλοποιείται ως λειτουργική μονάδα incubator που βρίσκεται κάτω από τον χώρο ονομάτων jdk.incubtor. Ωστόσο, το API πελάτη HTTP υποστηρίζει τα πιο πρόσφατα πρότυπα επικοινωνίας, ενώ ξεπερνά τις ελλείψεις του HttpURLConnection API.

Stack-Walking API

Κατά τη σύνταξη κώδικα Java, οι προγραμματιστές εξερευνούν τρόπους για να έχουν πρόσβαση και να φιλτράρουν αποτελεσματικά τα stack trance. Η τελευταία έκδοση της Java απλοποιεί το περπάτημα στοίβας παρέχοντας το Stack-Walking API. Το νέο API διευκολύνει τους προγραμματιστές να έχουν πρόσβαση και να φιλτράρουν πληροφορίες ανίχνευσης στοίβας. Υποστηρίζει περαιτέρω τόσο μικρές όσο και μεγάλες βόλτες. Ως εκ τούτου, γίνεται ευκολότερο για τους προγραμματιστές να έχουν πρόσβαση και να φιλτράρουν ολόκληρη τη στοίβα χωρίς να βασίζονται στην εικονική μηχανή για να συλλάβουν τις πληροφορίες της στοίβας.

Datagram Transport Layer Security (DTLS) API

Η Java 9 βοηθά τους προγραμματιστές να δημιουργήσουν ασφαλείς εφαρμογές παρέχοντας ένα API για την ασφάλεια επιπέδου μεταφοράς δεδομένων (DTLS). Το API διατηρεί την επικοινωνία πελάτη και διακομιστή ασφαλή εξαλείφοντας τις πιθανότητες παραποίησης δεδομένων, πλαστογραφίας μηνυμάτων και υποκλοπής. Επίσης, παρέχει απόρρητο επικοινωνίας σε μια ποικιλία εφαρμογών που χρησιμοποιούν Πρωτόκολλο μεταφοράς Datagram (DTP). Παρά το γεγονός ότι έχει αναπτυχθεί με βάση το Transport Layer Security (TLS), το DTLS εφαρμόζει πρωτόκολλο SSL.

Βελτιωμένο API διαδικασίας

Συχνά, οι προγραμματιστές Java θεωρούν ότι είναι τρομακτικό να ελέγχουν και να διαχειρίζονται τις διαδικασίες του λειτουργικού συστήματος. Το Process API που παρέχεται από παλαιότερη έκδοση προγραμματιστών για πρόσβαση στον εγγενή κώδικα και εγγραφή πρόσθετου κώδικα. Ωστόσο, το βελτιωμένο Process API που παρέχεται από την Java 9 διευκολύνει τους προγραμματιστές να ελέγχουν και να διαχειρίζονται τις διαδικασίες του λειτουργικού συστήματος. Μπορούν να χρησιμοποιήσουν το API για να κάνουν μια εφαρμογή Java να αλληλεπιδρά απευθείας με το λειτουργικό σύστημα. Επίσης, μπορούν να επωφεληθούν από τις νέες μεθόδους για να χειριστούν ονόματα διεργασιών και καταστάσεις χωρίς να γράψουν πρόσθετο κώδικα.

Καταργημένες λειτουργίες

Παρά την παροχή πολλών νέων δυνατοτήτων, η Java 9 δεν υποστηρίζει ορισμένες από τις δυνατότητες που παρέχονται από την Java 8. Για παράδειγμα, δεν υποστηρίζει πλέον το Applet API. ο Java προγραμματιστές web πρέπει να μεταβείτε από το Applet API στο Java Web Start για να εκκινήσετε εφαρμογές από προγράμματα περιήγησης ιστού. Ομοίως, η Java 8 επιταχύνει την ανάπτυξη συλλεκτών απορριμμάτων στην εικονική μηχανή HotSpot καταργώντας τους συλλέκτες σκουπιδιών Concurrent Mark Sweep (CMS). Ενώ χρησιμοποιούν την πιο πρόσφατη έκδοση της Java, οι προγραμματιστές δεν έχουν επίσης την επιλογή να λαμβάνουν προειδοποιήσεις Java στις δηλώσεις εισαγωγής και να επιλέγουν JRE κατά την εκκίνηση.

Συνολικά, η Java 9 διαθέτει πολλές νέες δυνατότητες για την απλοποίηση της ανάπτυξης εφαρμογών τόσο για μεγάλες όσο και για μικρές συσκευές. Ωστόσο, ορισμένα από τα δυαδικά αρχεία και την πηγή που εισήχθη από την Java 9 δεν είναι συμβατά με προηγούμενες εκδόσεις της γλώσσας προγραμματισμού. Οι προγραμματιστές πρέπει ακόμη και να κάνουν αρκετές αλλαγές στον κώδικα και να αναβαθμίσουν τις βιβλιοθήκες κατά τη μετεγκατάσταση υπαρχουσών εφαρμογών σε Java 9. Αλλά οι προγραμματιστές πρέπει να εξετάσουν το ενδεχόμενο να αναβαθμίσουν τις υπάρχουσες εφαρμογές τους σε Java 9 για να επωφεληθούν από αυτές τις νέες δυνατότητες και βελτιώσεις. Οι προγραμματιστές Java θα πρέπει επίσης να χρησιμοποιούν αυτά τα ιδιαίτερα συνιστώμενα εργαλεία για καλύτερο προγραμματισμό.



Source by Arun Kumar Biswal

Σχολιάστε