JDK vs JRE vs JVM: Diferențe cheie
Ce este JDK?
JDK este un mediu de dezvoltare software utilizat pentru realizarea de applet-uri și aplicații Java. Forma completă a JDK este Java Development Kit. Dezvoltatorii Java îl pot folosi pe Windows, MacOS, Solaris și Linux. JDK îi ajută să codifice și să ruleze programe Java. Este posibil să instalați mai multe versiuni JDK pe același computer.
În acest tutorial, veți afla:
- Ce este JDK?
- Ce este JRE?
- Ce este JVM?
- De ce să folosim JDK?
- De ce să utilizăm JRE?
- De ce JVM?
- Caracteristici JDK
- Caracteristici JRE
- Caracteristici JVM
- Cum funcționează JDK?
- Cum funcționează JRE?
- Cum funcționează JVM?
- Diferența dintre JDK, JRE și JVM
Ce este JRE?
JRE este o piesă a unui software conceput pentru a rula alte programe software . Conține bibliotecile de clase, clasa de încărcare și JVM. În termeni simpli, dacă doriți să rulați programul Java, aveți nevoie de JRE. Dacă nu sunteți programator, nu trebuie să instalați JDK, ci doar JRE pentru a rula programe Java. Cu toate acestea, toate versiunile JDK sunt incluse în Java Runtime Environment, deci nu este nevoie să descărcați și să instalați JRE separat în PC. Forma completă a JRE este Java Runtime Environment.
Ce este JVM?
JVM este un motor care oferă un mediu de rulare pentru a conduce codul sau aplicațiile Java. Acesta convertește codul secundar Java în limbajul mașinii. JVM face parte din Java Run Environment (JRE). Nu poate fi descărcat și instalat separat. forma completă a JVM este mașina virtuală Java.
În multe alte limbaje de programare, compilatorul produce codul mașinii pentru un anumit sistem. Cu toate acestea, compilatorul Java produce cod pentru o mașină virtuală numită JVM.
DIFERENȚE CHEIE
- JDK este un kit de dezvoltare software, în timp ce JRE este un pachet de software care permite rularea programului Java, întrucât JVM este un mediu pentru executarea bytecode-ului.
- Forma completă a JDK este Java Development Kit, în timp ce forma completă a JRE este Java Runtime Environment, în timp ce forma completă a JVM este Java Virtual Machine.
- JDK este dependent de platformă, JRE este, de asemenea, dependent de platformă, dar JVM este independent de platformă.
- JDK conține instrumente pentru dezvoltare, depanare, etc. JRE conține biblioteci de clase și alte fișiere suport, în timp ce software-ul instrumentele de dezvoltare nu sunt incluse în JVM.
- JDK vine cu programul de instalare, pe de altă parte, JRE conține doar mediul pentru a executa codul sursă, în timp ce JVM include atât software-ul JDK, cât și JRE.
De ce să folosiți JDK?
Iată motivele importante ale utilizării JDK:
- JDK conține instrumente necesare pentru a scrie programe Java și JRE pentru a le executa.
- Include un compilator, lansator de aplicații Java, Appletviewer etc.
- Compilatorul convertește codul scris în Java în cod de octeți.
- Lansatorul de aplicații Java deschide un JRE, încarcă clasa necesară și execută metoda sa principală.
De ce să folosiți JRE?
Iată motive importante pentru utilizarea JRE:
- JRE conține biblioteci de clase, JVM și alte fișiere suport. Nu conține niciun instrument pentru dezvoltarea Java, cum ar fi un depanator, un compilator etc.
- Folosește clase importante de pachete, cum ar fi matematică, swingetc, util, lang, awt și biblioteci de execuție.
- Dacă trebuie să rulați applet-uri Java, atunci JRE trebuie instalat în sistemul dvs.
De ce JVM?
Iată motivele importante ale utilizării JVM:
- JVM oferă o modalitate independentă de platformă de a executa Java cod sursă.
- Are numeroase biblioteci, instrumente și cadre.
- După ce rulați programul Java, puteți rula pe orice platformă și puteți economisi mult timp.
- JVM vine cu un compilator JIT (Just-in-Time) care convertește codul sursă Java într-un limbaj de mașină de nivel scăzut. Prin urmare, rulează mai rapid ca o aplicație obișnuită.
Caracteristicile JDK
Iată caracteristicile importante ale JDK:
- Vă permite să gestionați mai multe extensii într-un singur bloc de captură.
- JDK include toate caracteristicile pe care le are JRE.
- Conține instrumente de dezvoltare precum un compilator, un depanator etc.
- JDK oferă mediul pentru dezvoltarea și executarea codului sursă Java.
- Poate fi instalat pe sistemele de operare Windows, Unix și Mac.
- Operatorul Diamond poate fi utilizat în specificarea unei interfețe de tip generic în loc să scrie aceeași.
Caracteristicile JRE
Iată caracteristicile importante ale JRE:
- Java Runtime Environment este un set de instrumente care utilizează JVM.
- JRE conține tehnologie de implementare, inclusiv Java Web Start și Java Plug-in.
- Dezvoltatorii pot rula cu ușurință codul sursă în JRE, dar el / ea nu poate scrie și compila programul Java.
- Include biblioteci de integrare precum Java Database Connectivity (JDBC), Method Remote Invocare (RMI), Java Naming and Directory Interface (JNDI) și multe altele.
- JRE are client de mașină virtuală JVM și Java HotSpot.
Caracteristicile JVM
Iată caracteristicile importante ale JVM:
- Vă permite să rulați aplicații într-un mediu cloud sau în dispozitivul dvs.
- Mașina virtuală Java convertește codul de octeți în codul specific mașinii.
- Oferă funcții Java de bază, cum ar fi gestionarea memoriei, securitate, colectarea gunoiului și multe altele.
- JVM rulează programul utilizând biblioteci și fișiere oferite de Java Runtime Environment.
- JDK și JRE conțin ambele mașini virtuale Java.
- Poate executa programul java linie cu linie, de aceea se numește și interpret.
- JVM este ușor de personalizat, de exemplu, îi puteți aloca memorie minimă și maximă.
- Este independentă de hardware și de sistemul de operare. Deci, puteți scrie un program java o singură dată și puteți rula oriunde.
Cum funcționează JDK?
Iată componentele importante ale JDK:
- JDK și JRE: JDK permite programatorilor să creeze programe Java de bază care pot fi rulate de către JRE, care a inclus JVM și biblioteci de clase.
- Biblioteci de clase: este un grup de biblioteci care pot fi încărcate dinamic, pe care programul Java le poate apela în timpul rulării.
- Compilatoare: este un program Java care acceptă fișierul text al dezvoltatorilor și se compilează în Fișier de clasă Java. Este forma comună de ieșire dată de compilator, care conține cod de octeți Java. În Java, compilatorul principal este Javac.
- Depanatori: Debugger este un program Java care permite dezvoltatorilor să testeze și să depaneze programe Java.
- JavaDoc: JavaDoc este documentația realizată de Sun Microsystems pentru Java. JavaDoc poate fi utilizat generând documentație API în fișier HTML din programul sursă
Cum funcționează JRE?
JRE are o instanță de JVM, clase de bibliotecă și instrumente de dezvoltare. După ce scrieți și compilați codul Java, compilatorul generează un fișier de clasă cu cod de octeți.
Iată componentele importante ale JRE:
- Încărcătoare de clase: Încărcătorul de clase încarcă diferite clase necesare pentru a rula un program Java. JVM folosește trei încărcătoare de clasă numite încărcător de clase bootstrap, încărcător de clase de extensii și încărcător de clase de sistem.
- Verificator de cod de octeți: Verificatorul de cod de octeți verifică codul de octet, astfel încât codul să nu deranjeze interpretul.
- Interpret: odată ce clasele sunt încărcate și codul este verificat, interpretul citește codul rând cu rând.
- Run-time: Run-time este un sistem utilizat în principal în programare pentru descrieți perioada de timp în care rulează un anumit program.
- Hardware: Odată ce ați compilat codul nativ Java, acesta rulează pe o anumită platformă hardware.
În acest fel, programul Java rulează în JRE.
Cum funcționează JVM?
Iată componentele importante ale JVM:
1) Încărcător de clase
Încărcătorul de clase este un subsistem utilizat pentru încărcarea fișierelor clasei. Îndeplinește trei funcții majore și anume. Încărcare, conectare și inițializare.
2) Area Metodă
Zona Metodică JVM stochează structura clasei cum ar fi metadatele, codul pentru metodele Java și pool-ul de runtime constant.
3) Heap
Toate obiectele, tablourile și variabilele de instanță sunt stocate într-un heap. Această memorie este partajată pe mai multe fire.
4) Stive de limbaj JVM
Stive de limbaj Java stochează variabile locale și rezultatele parțiale ale acesteia. Fiecare fir are propria stivă de limbaj JVM, creată simultan pe măsură ce este creat firul. Un nou cadru este creat atunci când este invocată metoda și este eliminat când procesul de invocare a metodei este finalizat.
5) Registre PC
Registrele PC stochează adresa instrucțiunii mașinii virtuale Java, care se execută în prezent. În Java, fiecare fir are registrul PC separat.
6) Stive de metode native
Stive de metode native dețin instrucțiunile codului nativ depinde de biblioteca nativă. Alocă memorie pe grămezi native sau folosește orice tip de stivă.
7) Motor de execuție
Este un tip de software care este utilizat pentru a testa software, hardware sau sisteme complete. Motorul de execuție a testului nu poartă niciodată informații despre produsul testat.
8) Interfața Native Method
Interfața Native Method este un cadru de programare. Permite codului Java, care rulează într-o JVM, să apeleze prin biblioteci și aplicații native.
9) Biblioteci de metode native
Biblioteci native este o colecție de biblioteci native (C, C ++), care sunt necesare de către motorul de execuție.
Diferența dintre JDK, JRE și JVM
Iată diferențele majore dintre JDK și JRE vs. JVM:
JDK | JRE | JVM |
Forma completă a JDK este Java Development Kit. | Forma completă a JRE este Java Runtime Environment. | Forma completă a JVM este Java Virtual Machine. |
JDK este un kit de dezvoltare software pentru a dezvolta aplicații în Java. | Este un pachet software care oferă bibliotecilor de clase Java componentele necesare pentru a rula codul Java. | JVM execută codul de octet Java și oferă un mediu pentru executarea acestuia. |
JDK este dependent de platformă. | JRE este, de asemenea, dependent de platformă. | JVM este independentă de platformă. |
Conține instrumente pentru dezvoltarea, depanarea și monitorizarea codului Java. | Conține biblioteci de clase și alte fișiere suport de care JVM necesită pentru a executa programul. | Instrumentele de dezvoltare software nu sunt incluse în JVM. |
Este supersetul JRE | Este subsetul JDK. | JVM este un subset al JRE. |
JDK permite dezvoltatorilor să creeze programe Java care pot fi executate și rulate de JRE și JVM. | JRE este partea Java care creează JVM. | Este componenta platformei Java care execută codul sursă. |
JDK vine cu programul de instalare. | JRE conține doar mediu pentru a executa codul sursă. | JVM include atât software-ul JDK, cât și JRE. |