Πίνακας περιεχομένων:
- Ορισμός - Τι σημαίνει ο μεταγλωττιστής εγγενούς κώδικα για Java (NCCJ);
- Η Techopedia εξηγεί τον μεταγλωττιστή εγγενούς κώδικα για Java (NCCJ)
Ορισμός - Τι σημαίνει ο μεταγλωττιστής εγγενούς κώδικα για Java (NCCJ);
Ο μεταγλωττιστής εγγενούς κώδικα για το Java (NCCJ) είναι μια εφαρμογή μεταγλωττιστή που μετατρέπει τον κώδικα Java σε έναν εγγενή κώδικα που μπορεί να εκτελεστεί χωρίς την ανάγκη για διερμηνείς. Ο μεταγλωττιστής εγγενούς κώδικα για την Java μεταφράζει τον κώδικα Java σε μια δυαδική αναπαράσταση που μπορεί να συνδεθεί με αρχεία και πόρους βιβλιοθήκης που έχουν δημιουργηθεί πριν από τη δημιουργία ενός εκτελέσιμου προγράμματος.
Οι μεταγλωττιστές εγγενών κωδικών εξαλείφουν την ανάγκη για JVM και διερμηνείς να μετατρέψουν τον κώδικα byte Java, ο οποίος είναι ένας φορητός ενδιάμεσος κώδικας. Βοηθώντας τη μετατροπή του κώδικα Java απευθείας στον κώδικα μηχανής, οι εγγεγραμμένοι μεταγλωττιστές κώδικα βοηθούν στη μείωση των πλεονασμάτων, στην αντίστροφη μηχανική και στη βελτιστοποίηση της εκτέλεσης του προγράμματος.
Η Techopedia εξηγεί τον μεταγλωττιστή εγγενούς κώδικα για Java (NCCJ)
Ο κώδικας Java μετατρέπεται συνήθως σε έναν ενδιάμεσο κώδικα byte, ο οποίος στη συνέχεια μεταγλωττίζεται σε έναν εξαρτώμενο από τον υπολογιστή κώδικα με τη βοήθεια του JVM που εκτελείται σε κάθε μηχάνημα στο οποίο πρόκειται να εκτελεστεί το πρόγραμμα. Αυτό το ιδιαίτερο χαρακτηριστικό της Java καθιστά τα προγράμματα Java πιο ευέλικτα και φορητά σε ένα ευρύ φάσμα συσκευών. Αλλά αυτό εισάγει μια γενική επιβάρυνση και μπορεί να προκαλέσει περισσότερο χρόνο από τον προγραμματισμένο κώδικα Java. Ως πρωταρχική ανησυχία σχεδιασμού για την Java, ώστε να καταστεί ένα ανεξάρτητο από την πλατφόρμα και ασφαλές μοντέλο ανάπτυξης, η υστέρηση εκτέλεσης εκτέλεσης λόγω του χαρακτηριστικού κώδικα byte ήταν παραμερισμένη.
Αλλά όταν οι προγραμματιστές θέλουν να βελτιώσουν την απόδοση εκτέλεσης, μπορεί να επιλέξουν να δημιουργήσουν native τις τάξεις Java ή ορισμένα τμήματα του κώδικα. Οι εγγενείς μεταγλωττιστές κώδικα για τη Java βοηθούν στην επίτευξη αυτού του στόχου και έτσι βοηθούν στην επίτευξη καλύτερης ταχύτητας επεξεργασίας από την ερμηνεία του κώδικα byte.
Η αύξηση της ταχύτητας μπορεί να συμβεί λόγω πολλών παραγόντων, όπως:
- Χρήση αριθμητικών
- Βαθμός πολυμορφικού μηνύματος
- Άμεση πρόσβαση στο πεδίο
- Ποσότητα πρόσβασης σε πίνακες
- Ταινίες
Οι δύο κύριοι τύποι των εγγενών μεταγλωττιστών κώδικα είναι οι μεταγλωττιστές just-in-time (JIT) και οι μεταγλωττιστές μπροστά από το χρόνο (AOT). Οι μεταγλωττιστές JIT επιτρέπουν στην JVM να μεταφράζει κώδικα Java στον κώδικα μηχανής όπως και όταν απαιτείται από το JDK. Οι μεταγλωττιστές AOT μεταγλωττίζουν τον κώδικα Java μέσα σε ένα αρχείο JAR σε φυσικές κοινές βιβλιοθήκες πριν από την ώρα εκτέλεσης.
Ο εγγενής κώδικας μεταγλώττισης είναι επίσης γνωστός ως στατική συλλογή και παρέχει συνεπή απόδοση.
