java components java platform
Αυτό το σεμινάριο δίνει μια λεπτομερή περιγραφή της Java ως πλατφόρμας και των στοιχείων της, δηλαδή JRE, JDK, Java Virtual Machine και διαφορά μεταξύ JRE έναντι JDK:
Η Java έχει περιγραφεί ως γλώσσα προγραμματισμού καθώς και ως πλατφόρμα. Στο εισαγωγικό μας φροντιστήριο, συζητήσαμε ήδη ότι μια πλατφόρμα είναι ένα περιβάλλον λογισμικού με το οποίο μπορούμε να εκτελέσουμε προγράμματα ή εφαρμογές.
Σε αυτό το σεμινάριο, θα συζητήσουμε την Java, ως πλατφόρμα. Θα συζητήσουμε επίσης τα στοιχεία της πλατφόρμας Java και θα δούμε πώς λειτουργούν.
=> Διαβάστε μέσω της σειράς Easy Java Training.
Τι θα μάθετε:
Πλατφόρμα Java
Η πλατφόρμα Java είναι ένα λογισμικό ή μια συλλογή προγραμμάτων που μας βοηθούν να εκτελέσουμε εφαρμογές γραμμένες σε γλώσσα προγραμματισμού Java. Μια πλατφόρμα Java αποτελείται από έναν μεταγλωττιστή Java, ένα σύνολο βιβλιοθηκών και μια μηχανή εκτέλεσης.
Η πλατφόρμα Java είναι ανεξάρτητη από οποιοδήποτε συγκεκριμένο λειτουργικό σύστημα που καθιστά τη γλώσσα προγραμματισμού Java μια γλώσσα ανεξάρτητη από την πλατφόρμα.
Η πλατφόρμα Java αποτελείται από τα ακόλουθα στοιχεία.
- Γλώσσα Java
- Το Java Development Kit (JDK)
- Το περιβάλλον χρόνου εκτέλεσης Java (JRE)
- Ο μεταγλωττιστής Java
- Η εικονική μηχανή Java (JVM)
Εκτός από τα παραπάνω βασικά στοιχεία, η πλατφόρμα Java περιέχει επίσης συλλέκτες απορριμμάτων, ένα σύνολο βιβλιοθηκών και άλλα πρόσθετα στοιχεία και εργαλεία που απαιτούνται για την αποτελεσματική εκτέλεση των εφαρμογών Java.
Ας εξετάσουμε το ακόλουθο διάγραμμα που απεικονίζει τη σχέση μεταξύ όλων αυτών των στοιχείων.
Έτσι, από το παραπάνω διάγραμμα, μπορούμε να συμπεράνουμε ότι,
JRE = JVM + τάξεις βιβλιοθήκης.
JDK = JRE + Εργαλεία προγραμματιστή.
Πριν αναλάβουμε καθένα από τα στοιχεία, ας κατανοήσουμε πρώτα τη ροή εκτέλεσης της εκτέλεσης προγράμματος Java.
Το παρακάτω διάγραμμα δείχνει τη ροή ενός προγράμματος Java.
Έτσι, το παραπάνω διάγραμμα δείχνει μια απλή ροή εκτέλεσης για ένα πρόγραμμα Java. Ένα πρόγραμμα γραμμένο σε γλώσσα Java συντάσσεται από τον μεταγλωττιστή Java (javac). Σε αντίθεση με άλλους μεταγλωττιστές γλωσσών που δημιουργούν κώδικα μηχανής μετά τη μεταγλώττιση, ο μεταγλωττιστής Javac δημιουργεί ένα αρχείο κλάσης που αποτελείται από κώδικα byte.
Τώρα, αυτό το αρχείο κλάσης δίνεται στην Java Virtual Machine (JVM) που μεταφράζει το αρχείο κλάσης σε ένα αρχείο αντικειμένου που περιέχει κώδικα που εξαρτάται από τη μηχανή. Τότε αυτός ο κωδικός εκτελείται από το μηχάνημα.
Ας συζητήσουμε λεπτομερώς καθένα από αυτά τα συστατικά.
Γλώσσα Java
Η Java είναι μια γλώσσα προγραμματισμού που χρησιμοποιεί η πλατφόρμα Java. Η Java είναι μια αντικειμενοστρεφής γλώσσα προγραμματισμού της οποίας η σύνταξη προέρχεται από C και οι λειτουργίες OOPS προέρχονται από το C ++. Έχει το πρότυπο σύνταξης, κανόνων, μορφής και προγραμματισμού.
Σε αυτήν τη σειρά, θα μάθουμε λεπτομερώς όλες τις βασικές έννοιες στην Java και τον προγραμματισμό.
Ο μεταγλωττιστής Java
Αυτός είναι ένας μεταγλωττιστής για τη γλώσσα προγραμματισμού Java και η λειτουργία του είναι να δημιουργεί αρχεία κλάσης Java από τον πηγαίο κώδικα Java. Το αρχείο κλάσης Java περιέχει έναν κώδικα Java byte ανεξάρτητο από πλατφόρμα.
Μετά τη δημιουργία αρχείων τάξης, η JVM φορτώνει αυτά τα αρχεία κλάσης και είτε ερμηνεύει τον κώδικα byte είτε μεταγλωττίζει τον κώδικα μηχανής χρησιμοποιώντας μεταγλωττιστή Just-in-time (JIT).
Η εικονική μηχανή Java (JVM)
Το JVM είναι το κέντρο της γλώσσας προγραμματισμού Java και της πλατφόρμας Java. Το JVM μετατρέπει τον κώδικα byte σε κώδικα συγκεκριμένου μηχανήματος (επίσης γνωστός ως αντικειμενικός κώδικας σε άλλες γλώσσες προγραμματιστή).
Το JVM παρέχει τη λειτουργικότητα της συλλογής απορριμμάτων, της διαχείρισης μνήμης, της ασφάλειας κ.λπ. Το JVM είναι ανεξάρτητο από την πλατφόρμα και μπορούμε να προσαρμόσουμε τη λειτουργικότητά του χρησιμοποιώντας μια εικονική διεπαφή που παρέχει η οποία δεν εξαρτάται από το μηχάνημα και είναι επίσης ανεξάρτητη από το λειτουργικό σύστημα.
Αυτή η ανεξαρτησία πλατφόρμας του JVM μας επιτρέπει να δημιουργήσουμε προγράμματα Java σε ένα μηχάνημα και να τα εκτελέσουμε σε άλλο μηχάνημα (WORA - Write - Once - Run - Anywhere).
Το παρακάτω διάγραμμα απεικονίζει τα διάφορα μέρη ενός JVM.
Το JVM υπάρχει στη μνήμη RAM. Όταν το πρόγραμμα Java μετατρέπεται σε αρχείο κλάσης από τον μεταγλωττιστή Java, πρέπει να εκτελεστεί.
Για εκτέλεση, το αρχείο τάξης φέρεται στο Ram από τον φορτωτή κλάσης. Εδώ ο κωδικός BYTE επαληθεύεται για τυχόν προβλήματα ασφαλείας. Το Classloader είναι επίσης υπεύθυνο για τη φόρτωση, σύνδεση και αρχικοποίηση του προγράμματος που θα εκτελεστεί.
Η μνήμη JVM που φαίνεται στο παραπάνω διάγραμμα περιέχει διάφορα στοιχεία όπως φαίνεται και βοηθούν στην εκτέλεση του προγράμματος κρατώντας καταχωρητές PC που περιέχουν τρέχουσες οδηγίες προς εκτέλεση, Heap που κρατά μεταβλητές, πίνακες κ.λπ.
Η μνήμη JVM περιέχει επίσης περιοχή μεθόδου και εγγενή στοίβα μεθόδου που περιέχει τον κωδικό μεθόδου και τις προδιαγραφές μητρικής γλώσσας αντίστοιχα. Η στοίβα JVM κρατά την παρουσία του προγράμματος ή του τρέχοντος νήματος. Εάν υπάρχουν περισσότερα από ένα νήματα από κάθε νήμα θα έχει τη στοίβα JVM.
Μόλις το πρόγραμμα συνδεθεί σωστά, τότε μεταβιβάζεται στη μηχανή εκτέλεσης. Η μηχανή εκτέλεσης συνεργάζεται με τη φυσική διεπαφή μεθόδου και τις εγγενείς βιβλιοθήκες μεθόδων. Η εγγενής μέθοδος διεπαφής είναι ένα πλαίσιο προγραμματισμού που επιτρέπει στον κώδικα Java να καλεί βιβλιοθήκες και εγγενείς εφαρμογές που αποτελούν μέρος των εγγενών βιβλιοθηκών μεθόδων.
Στη συνέχεια, η μηχανή εκτέλεσης μετατρέπει τον Bytecode σε εγγενή κώδικα μηχανής χρησιμοποιώντας μεταγλωττιστή just-in-time (JIT). Στη συνέχεια, το πρόγραμμα εκτελείται από το μηχάνημα.
Σημείωση: ΚΙΤ ή Ο μεταγλωττιστής Just-in-time είναι μέρος της εικονικής μηχανής Java (JVM). Ερμηνεύει ένα μέρος του κώδικα Byte που έχει παρόμοια λειτουργικότητα ταυτόχρονα. Με άλλα λόγια, μετατρέπει τον κώδικα byte σε εγγενή κώδικα μηχανήματος στο ίδιο επίπεδο προγραμματισμού. Αυτός είναι ο λόγος για τον οποίο καταρτίζεται η Java καθώς και μια ερμηνευμένη γλώσσα.
Το Java Runtime Environment (JRE)
Το JRE, όπως υποδηλώνει το όνομα, είναι το περιβάλλον χρόνου εκτέλεσης που απαιτείται για την εκτέλεση προγραμμάτων και εφαρμογών Java. Το JRE αποτελείται από Java Virtual Machine (JVM) και δυαδικά αρχεία και άλλες κλάσεις για την επιτυχή εκτέλεση προγραμμάτων Java.
αυτοματοποιημένο εργαλείο δοκιμών για εφαρμογές Ιστού
Το JRE είναι ένα υποσύνολο του JDK και δεν περιέχει εργαλεία ανάπτυξης όπως μεταγλωττιστή Java, πρόγραμμα εντοπισμού σφαλμάτων κ.λπ. Επομένως, εάν οι εφαρμογές σας Java έχουν αναπτυχθεί αλλού και πρέπει να τις εκτελέσετε μόνο στον υπολογιστή σας, τότε μπορείτε να εγκαταστήσετε το JRE ξεχωριστά. Πρέπει να εγκαταστήσετε το JDK για αυτό.
Χρειάζεστε ένα JRE εγκατεστημένο στο μηχάνημά σας, καθώς είναι η ελάχιστη απαίτηση για εκτέλεση προγραμμάτων Java στον υπολογιστή σας.
Το JRE περιλαμβάνει τα ακόλουθα στοιχεία.
- Βιβλιοθήκες κώδικα, ρυθμίσεις ιδιοκτησίας και αρχεία πόρων : Αυτά περιλαμβάνουν αρχεία όπως charsets.jar, rt.jar κ.λπ.
- Αρχεία DLL : Χρησιμοποιείται από εικονική μηχανή πελάτη Java hotspot και εικονική μηχανή διακομιστή.
- Αρχεία επέκτασης Java : Για παράδειγμα, αρχεία που σχετίζονται με την τοπική προδιαγραφή, όπως localedata.jar
- Αρχεία απαιτείται για τη διαχείριση της ασφάλειας. Για παράδειγμα, java.policy, java.security
- Μαθήματα υποστήριξης εφαρμογών.
- Αρχεία γραμματοσειράς True Type : Συνήθως απαιτείται από την πλατφόρμα.
Για να εκτελέσετε οποιαδήποτε εφαρμογή / πρόγραμμα γραμμένο σε Java, πρέπει να έχετε εγκαταστήσει το JRE στο σύστημά σας. Το JRE εξαρτάται από την πλατφόρμα. Αυτό σημαίνει ότι πρέπει να κατεβάσετε και να εγκαταστήσετε το JRE που είναι συμβατό με το O.S και την αρχιτεκτονική σας.
Το Java Development Kit (JDK)
Αυτό είναι το βασικό συστατικό οποιουδήποτε περιβάλλοντος Java. Το JDK περιέχει JRE (Java Runtime Environment) μαζί με το Java compiler, το Java debugger και άλλες βασικές κλάσεις. Το JDK χρησιμοποιείται για την ανάπτυξη Java καθώς παρέχει ολόκληρο το εκτελέσιμο και τα δυαδικά αρχεία καθώς και εργαλεία που απαιτούνται για τη μεταγλώττιση, τον εντοπισμό σφαλμάτων ενός προγράμματος Java.
Το JDK είναι ένα λογισμικό ειδικά για πλατφόρμα και έτσι θα έχουμε ξεχωριστούς εγκαταστάτες JDK για κάθε λειτουργικό σύστημα.
Το JDK περιέχει τα ακόλουθα στοιχεία:
- jConsole : Αυτή είναι μια κονσόλα παρακολούθησης και διαχείρισης Java.
- δοχείο : Αυτή είναι η αρχειοθήκη. Αυτό το εργαλείο χρησιμοποιείται για τη συσκευασία σχετικών βιβλιοθηκών τάξεων σε ένα αρχείο Jar καθώς και για τη διαχείριση αρχείων Jar.
- βάζοSigner : Αυτό το εργαλείο χρησιμοποιείται για την υπογραφή και την επαλήθευση βάζων.
- javap: Αυτό είναι ένα εργαλείο για την αποσυναρμολόγηση αρχείων τάξης.
- σαγόνια : Εκκίνηση εκκίνησης Ιστού Java για εφαρμογές JNLP.
- τσατ : Εργαλείο ανάλυσης σωρού Java.
- jrunscript : Κέλυφος σεναρίου γραμμής εντολών Java.
- jstack : Βοηθητικό πρόγραμμα που χρησιμοποιείται για την εκτύπωση ιχνών στοίβας για νήματα Java.
- Javadoc : Αυτό δημιουργεί αυτόματα τεκμηρίωση από τα σχόλια του πηγαίου κώδικα.
- appletviewer : Χρησιμοποιείται για εκτέλεση applet και εντοπισμό σφαλμάτων χωρίς πρόγραμμα περιήγησης στο Web.
- κατάλληλος : Εργαλείο επεξεργασίας σχολιασμών.
- extCheck : Βοηθητικό πρόγραμμα που χρησιμοποιείται για τον έλεγχο διένεξης αρχείων βάζων
- βασικό εργαλείο : Χρησιμοποιώντας αυτό το βοηθητικό πρόγραμμα μπορείτε να χειριστείτε το Keystore.
- εργαλείο πολιτικής : Αυτό είναι ένα εργαλείο δημιουργίας και διαχείρισης πολιτικής.
- xjc : Αυτό είναι μέρος του API δέσμευσης XML (JAXB) που δέχεται σχήμα XML και δημιουργεί κλάσεις Java.
Έτσι μπορείτε να δείτε ότι τα στοιχεία του JDK είναι αυτά που απαιτούνται από εμάς από την άποψη της ανάπτυξης.
Όπως φαίνεται στο παραπάνω διάγραμμα, ο πηγαίος κώδικας Java μετατρέπεται σε κωδικούς byte από τον μεταγλωττιστή Java που είναι μέρος του JDK. Στη συνέχεια, αυτός ο κωδικός byte μεταφέρεται στο JVM (αυτή η διαδικασία έχει ήδη περιγραφεί παραπάνω) και από εκεί πηγαίνει στο JRE όπου εκτελείται ο κώδικας.
Έχοντας δει τις λεπτομέρειες για το JDK και το JRE, ας συζητήσουμε τώρα τις διαφορές μεταξύ JRE και JDK.
JRE εναντίον JDK
Μην | JRE | JDK |
---|---|---|
7 | Λαμβάνει το μεταγλωττισμένο / ερμηνευμένο πρόγραμμα Java ως είσοδο και παράγει έξοδο. | Συντάχθηκε πρόγραμμα προέλευσης Java και δημιουργεί ένα αρχείο κλάσης το οποίο στη συνέχεια δίνεται στο JVM. |
1 | Το JRE σημαίνει Java Runtime Environment. | Το JDK σημαίνει Java Development Kit. |
δύο | Χρησιμοποιείται κυρίως για την εκτέλεση προγραμμάτων Java. | Το JDK χρησιμοποιείται από προγραμματιστές για την ανάπτυξη προγραμμάτων Java. |
3 | Περιέχει Java Virtual Machine (JVM) ομαδοποιημένη μέσα σε αυτό. | Δεν διαθέτει JVM. |
4 | Το JRE δεν διαθέτει μεταγλωττιστή Java, επομένως δεν είναι δυνατή η μεταγλώττιση προγραμμάτων. | Το JDK διαθέτει javac compiler και είναι υπεύθυνο για τη σύνταξη προγραμμάτων. |
5 | Περιέχει βιβλιοθήκη κλάσης java, την εντολή java και άλλες υποδομές. | Το JDK περιέχει εργαλεία όπως το Javadoc και το archiver που χρησιμοποιούνται για την ανάπτυξη εφαρμογών Java. |
6 | Το JRE μπορεί να εγκατασταθεί ως αυτόνομο πρόγραμμα. | Το JDK είναι ένα ξεχωριστό πρόγραμμα εγκατάστασης και συνοδεύεται από JRE. |
συμπέρασμα
Σε αυτό το σεμινάριο, συζητήσαμε τις λεπτομέρειες του Java Development Kit (JDK) που συνοδεύεται από Java Runtime Environment (JRE) και Java compiler. Το JRE, με τη σειρά του, περιέχει Java Virtual Machine (JVM), η οποία είναι υπεύθυνη για τη μετατροπή κώδικα byte που δημιουργείται από τον μεταγλωττιστή Java σε κώδικα συγκεκριμένου μηχανήματος.
Όλα αυτά, συμπεριλαμβανομένης της γλώσσας Java, είναι στοιχεία μιας μητρικής οντότητας που ονομάζεται πλατφόρμα Java και είναι ένα περιβάλλον που μας βοηθά να εκτελέσουμε μια εφαρμογή Java. Συζητήσαμε επίσης τη λεπτομερή αρχιτεκτονική και τη λειτουργία του JVM, καθώς και την εκτέλεση ενός προγράμματος Java εδώ.
=> Ρίξτε μια ματιά στον Οδηγό για αρχάριους Java εδώ.
Συνιστώμενη ανάγνωση
- Java Virtual Machine: Πώς βοηθά το JVM στην εκτέλεση της εφαρμογής Java
- Εκμάθηση Java SWING: Container, Components and Event Handling
- Ανάπτυξη Java: Δημιουργία και εκτέλεση αρχείου Java JAR
- Πρόσβαση τροποποιητών σε Java - Εκμάθηση με παραδείγματα
- Εκμάθηση Java Reflection με παραδείγματα
- Εισαγωγή στη γλώσσα προγραμματισμού Java - Video Tutorial
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- OOP Java: Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό στην Java