Πλεονεκτήματα και μειονεκτήματα του Java Virtual Machine Interpreter

Νεαρή κοπέλα φορώντας ακουστικά

Ένας αντιπρόσωπος εξυπηρέτησης πελατών στο τηλέφωνο.

Πίστωση εικόνας: Προβολή Stock/Προβολή Stock/Getty Images

Πριν από την ύπαρξη του Adobe Flash και άλλων σύγχρονων τεχνολογιών Ιστού, οι ιδιοκτήτες τοποθεσιών χρησιμοποιούσαν την Java για να δημιουργήσουν συναρπαστικούς, διαδραστικούς ιστότοπους. Όπως το Flash, ένα πρόγραμμα Java αναπαράγει ταινίες, δημιουργεί γραφικά υψηλής ποιότητας και υποστηρίζει σύνθετες εφαρμογές που μοιάζουν με εφαρμογές επιτραπέζιου υπολογιστή. Ο Διερμηνέας Εικονικής Μηχανής Java που εκτελείται στα παρασκήνια σας δίνει τη δυνατότητα να απολαύσετε αυτά τα πλεονεκτήματα, αλλά έχει αξιοσημείωτα μειονεκτήματα.

Ανατομία μιας εικονικής μηχανής Java

Ο όρος Java έχει πολλές έννοιες. μπορεί να αναφέρεται στη γλώσσα προγραμματισμού που χρησιμοποιούν οι προγραμματιστές για τη δημιουργία εφαρμογών, στην προδιαγραφή Application Programmer's Interface ή στην προδιαγραφή Java Virtual Machine. Όταν επισκέπτεστε μια ιστοσελίδα που έχει ένα πρόγραμμα Java, που ονομάζεται επίσης μικροεφαρμογή, το πρόγραμμα περιήγησής σας ενεργοποιεί την εικονική μηχανή Java που ερμηνεύει τον κώδικα Java και εκτελεί τη μικροεφαρμογή. Όπως μια πραγματική υπολογιστική μηχανή, το JVM επεξεργάζεται οδηγίες και διαχειρίζεται περιοχές μνήμης.

Το βίντεο της ημέρας

Πλεονέκτημα: Η Java εκτελείται σε προστατευμένη περιοχή

Φανταστείτε τι θα μπορούσε να συμβεί εάν μια ιστοσελίδα είχε τη δυνατότητα να διαγράψει τα αρχεία σας ή να εξετάσει τα προσωπικά σας έγγραφα. Παρόλο που οι μικροεφαρμογές Java μπορούν να εκτελέσουν χρήσιμες εργασίες που δεν μπορεί να κάνει ο κανονικός κώδικας HTML, η Java εκτελείται απομονωμένη μέσα στην εικονική μηχανή Java. Το JVM διασφαλίζει ότι μια αποστατική μικροεφαρμογή από μια επικίνδυνη τοποθεσία δεν μπορεί να έχει πρόσβαση σε πόρους συστήματος, όπως σκληρούς δίσκους.

Μειονέκτημα: Οι κυβερνοεγκληματίες μπορούν να εκμεταλλευτούν την εικονική μηχανή Java

Αν και το JVM περιορίζει τις ενέργειες μιας μικροεφαρμογής, εξακολουθεί να είναι δυνατό για τους εισβολείς να εκμεταλλευτούν τις αδυναμίες στην πλατφόρμα Java. Για παράδειγμα, στις αρχές του 2013, η Microsoft είδε τρία παραδείγματα μικροεφαρμογών που σχεδιάστηκαν να χρησιμοποιούν απομακρυσμένη εκτέλεση κώδικα για να μολύνουν υπολογιστές. Η Oracle, ο προγραμματιστής της Java, κυκλοφόρησε μια ενημέρωση που σας κρατά πιο ασφαλείς ορίζοντας την προεπιλεγμένη ασφάλεια της μικροεφαρμογής επίπεδα σε "Υψηλό". Αυτή η ρύθμιση διασφαλίζει ότι το πρόγραμμα περιήγησής σας σας προειδοποιεί όταν μια μη υπογεγραμμένη μικροεφαρμογή επιχειρεί να το κάνει τρέξιμο. Όπως σημειώνει η Microsoft, «η συντριπτική πλειονότητα των μικροεφαρμογών που εκμεταλλεύονται ευπάθειες ασφαλείας δεν είναι υπογεγραμμένες». Ένα ψηφιακό Η υπογραφή σε μια μικροεφαρμογή σάς ενημερώνει ποιος τη δημιούργησε και επαληθεύει ότι κανείς δεν τροποποίησε τη μικροεφαρμογή μετά τον δημιουργό το υπέγραψε.

Πλεονέκτημα: One Size Fits All

Το "Cross platform" αναφέρεται στην ικανότητα ενός προγράμματος να εκτελείται με επιτυχία σε διαφορετικούς τύπους υλικού. Επειδή η Java είναι πολλαπλές πλατφόρμες, οι προγραμματιστές μπορούν να γράψουν ένα κομμάτι κώδικα που εκτελείται σε οποιονδήποτε υπολογιστή, Mac, κινητά τηλέφωνα και οποιαδήποτε άλλη συσκευή διαθέτει JVM. Η Java δεν χρειάζεται πάντα να εκτελείται σε πρόγραμμα περιήγησης. Μπορείτε να κάνετε λήψη εφαρμογών Java που εκτελούνται στην επιφάνεια εργασίας σας όπως τα συνηθισμένα προγράμματα.

Μειονέκτημα: Μπορεί να απαιτείται συναρμολόγηση

Εάν κανείς δεν έχει εγκαταστήσει ποτέ το Java Runtime Environment στον υπολογιστή σας, δεν μπορείτε να χρησιμοποιήσετε Java. Επισκεφτείτε την ιστοσελίδα Verify Java Version και ακολουθήστε τις οδηγίες για λήψη και εγκατάσταση της πιο πρόσφατης έκδοσης, εάν δεν την έχετε. Παρόλο που δεν είναι μια μακρά εγκατάσταση, ενδέχεται να προκύψουν ορισμένα προβλήματα, επομένως συμβουλευτείτε τη σελίδα αντιμετώπισης προβλημάτων Java εάν χρειάζεστε βοήθεια για την εκτέλεση της εγκατάστασής σας.

Πρόσθετα Πλεονεκτήματα

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