Πλεονεκτήματα και μειονεκτήματα των εικονικών μηχανών Java

Το Java Virtual Machine (JVM) είναι ένα περιβάλλον που εκτελεί προγράμματα Java. Τα προγράμματα Java μεταγλωττίζονται σε μια ενδιάμεση γλώσσα που ονομάζεται bytecode, την οποία εκτελεί το JVM. Οποιοδήποτε πρόγραμμα μεταγλωττίζεται σε bytecode μπορεί να εκτελεστεί σε οποιαδήποτε πλατφόρμα που έχει εγκατεστημένο JVM. Αυτό καθιστά το λογισμικό Java συμβατό με πολλές διαφορετικές πλατφόρμες υπολογιστών. Το JVM έχει μερικά αξιοσημείωτα πλεονεκτήματα και μειονεκτήματα που κάθε προγραμματιστής πρέπει να σταθμίσει προσεκτικά πριν επενδύσει στην ανάπτυξη Java.

Πλατφόρμα Ανεξαρτησίας

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

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

Ασφάλεια

Η Java γράφτηκε με γνώμονα την ασφάλεια. Η Java Virtual Machine έχει ενσωματωμένες δυνατότητες ασφαλείας που επιτρέπουν στους προγραμματιστές να γράφουν εξαιρετικά ασφαλή προγράμματα Java. Αποτρέπει επίσης κακόβουλο λογισμικό από το να διακυβεύσει το Λειτουργικό Σύστημα (OS), επειδή εμποδίζει τις εφαρμογές Java να αλληλεπιδρούν με τους πόρους του λειτουργικού συστήματος.

Εκτέλεση

Τα προγράμματα Java που εκτελούνται σε μια εικονική μηχανή Java τείνουν να αποδίδουν πιο αργά από τα ισοδύναμα προγράμματα που είναι γραμμένα σε C++. Η ουδετερότητα συστήματος του bytecode λειτουργεί ως μειονέκτημα όσον αφορά την απόδοση. Αυτό οφείλεται στο γεγονός ότι η βελτιστοποίηση κώδικα βασίζεται σε μεγάλο βαθμό σε ειδικά χαρακτηριστικά του συστήματος. Δεδομένου ότι ο bytecode Java είναι ουδέτερος για το σύστημα, δεν μπορεί να βελτιστοποιηθεί για ένα συγκεκριμένο σύνολο υλικού.

Ορθότητα

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