JDK vs JRE vs JVM în Java – Diferența dintre ei
Diferența cheie între JDK, JRE și JVM
- JDK este un kit de dezvoltare software, în timp ce JRE este un pachet de software care permite Java programul să ruleze, în timp ce JVM este un mediu pentru executarea bytecode.
- 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 Mașină virtuală.
- JDK și JRE sunt dependente de platformă, în timp ce JVM este independent de platformă la nivel de bytecode, dar depinde de implementările specifice platformei.
- JDK conține instrumente pentru dezvoltare, depanare etc. JRE conține biblioteci de clase și alte fișiere suport, în timp ce instrumentele de dezvoltare software 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 este inclus atât în software-ul JDK, cât și în JRE.
Ce este JDK?
JDK este un mediu de dezvoltare software utilizat pentru realizarea de applet-uri și Java aplicatii. Forma completă a JDK este Java Kit de dezvoltare. Java dezvoltatorii îl pot folosi pe Windows, macOS, Solaris, și Linux. JDK îi ajută să codifice și să ruleze Java programe. Este posibil să instalați mai multe versiuni JDK pe același computer.
Ce este JRE?
JRE este o parte dintr-un software care este conceput pentru a rula alt software. Conține bibliotecile de clase, clasa de încărcare și JVM. În termeni simpli, dacă vrei să alergi Java programul de care aveți nevoie JRE. Dacă nu ești programator, nu este nevoie instalați JDK, dar doar JRE pentru a rula Java programe. Cu toate acestea, toate versiunile JDK sunt livrate la pachet Java Runtime Environment, deci nu trebuie să descărcați și să instalați JRE separat pe computer. Forma completă a JRE este Java Mediul de rulare.
Ce este JVM?
JVM este un motor care oferă un mediu de rulare pentru a conduce Java Cod sau aplicații. Se convertește Java bytecode în limbajul mașinii. JVM face parte din Java Run Environment (JRE). Nu poate fi descărcat și instalat separat. Pentru a instala JVM, trebuie să instalați JRE. Forma completă a JVM este Java Mașină virtuală.
În multe alte limbaje de programare, compilatorul produce cod de mașină pentru un anumit sistem. Cu toate acestea, Java compilatorul produce cod pentru o mașină virtuală care este numită JVM.
De ce să folosiți JDK?
Iată motivele importante ale utilizării JDK:
- JDK conține instrumente necesare pentru a scrie Java programe și JRE pentru a le executa.
- Include un compilator, Java lansatorul de aplicații, Appletviewer etc.
- Compilatorul convertește codul scris în Java în cod de octet.
- Java lansatorul de aplicații deschide un JRE, încarcă clasa necesară și își execută metoda principală.
De ce să folosiți JRE?
Iată motivele importante ale utilizării JRE:
- JRE conține biblioteci de clase, JVM și alte fișiere suport. Nu conține niciun instrument pentru Java dezvoltare precum un depanator, compilator etc.
- Folosește clase importante de pachete, cum ar fi bibliotecile math, swingetc, util, lang, awt și runtime.
- Dacă trebuie să alergi Java applet-uri, apoi JRE trebuie instalat în sistemul dumneavoastră.
De ce JVM?
Iată motivele importante ale utilizării JVM:
- JVM oferă o modalitate independentă de platformă de execuție Java cod sursa.
- Are numeroase biblioteci, instrumente și cadre.
- Odată ce ai alergat Java program, puteți rula pe orice platformă și puteți economisi mult timp.
- JVM vine cu un compilator JIT (Just-in-Time) care convertește Java codul sursă î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, cum ar fi un compilator, un depanator etc.
- JDK oferă mediul de dezvoltare și execuție Java cod sursa.
- Poate fi instalat pe Windows, Unix și Mac.
- Operatorul diamant poate fi folosit pentru a specifica o interfață de tip generic în loc să o scrieți pe cea exactă.
Caracteristicile JRE
Iată caracteristicile importante ale JRE:
- Java Runtime Environment este un set de instrumente prin care JVM rulează efectiv.
- JRE conține tehnologie de implementare, inclusiv Java Web Start și Java Conecteaza.
- Dezvoltatorii pot rula cu ușurință codul sursă în JRE, dar el/ea nu poate scrie și compila Java programul.
- Include biblioteci de integrare precum Java Conectivitate la baze de date (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI) și multe altele.
- JRE are JVM și Java Client de mașină virtuală HotSpot.
Caracteristicile JVM
Iată caracteristicile importante ale JVM:
- Vă permite să rulați aplicații într-un mediu cloud sau pe dispozitivul dvs.
- Java Mașina virtuală convertește codul de octeți în codul specific mașinii.
- Oferă funcții Java de bază, cum ar fi gestionarea memoriei, securitatea, colectarea gunoiului și multe altele.
- JVM rulează programul utilizând biblioteci și fișiere date de Java Mediul de rulare.
- JDK și JRE conțin ambele Java Mașină virtuală.
- Poate executa programul java linie cu linie, de aceea este numit ș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 dată și rulați oriunde.
Cum funcționează JDK?
Iată componentele importante ale JDK:
- JDK și JRE: JDK le permite programatorilor să creeze nucleu Java programe care pot fi rulate de JRE, care include JVM și biblioteci de clase.
- Biblioteci de clasă: Este un grup de biblioteci care se pot încărca dinamic care Java programul poate apela în timpul rulării.
- Compilatoare: Este o Java program care acceptă fișierele text ale dezvoltatorilor și se compilează în Java dosarul clasei. Este forma comună de ieșire dată de compilator, care conține Java cod octet. În Java, compilatorul primar este Javac.
- Depanatoare: Debugger este un Java program care permite dezvoltatorilor să testeze și să depaneze Java programe.
- JavaDocumente: JavaDoc este o documentație realizată de Sun Microsystems pentru Java. JavaDoc poate fi folosit pentru a genera documentație API în fișierul HTML din programul sursă
Cum funcționează JRE?
JRE are o instanță de JVM cu el, clase de bibliotecă și instrumente de dezvoltare. Odată ce ai scris și compilat Java cod, compilatorul generează un fișier de clasă având cod octet.
Iată componentele importante ale JRE:
- Încărcătoare de clasă: Încărcătorul de clasă încarcă diferite clase care sunt necesare pentru rularea a Java program. JVM utilizează trei încărcătoare de clasă numite încărcător de clasă bootstrap, încărcător de clasă de extensii și încărcător de clasă de sistem.
- Verificator cod octet: Verificatorul de cod de octet 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 linie cu linie.
- Timp de rulare: Run-time este un sistem folosit în principal în programare pentru a descrie perioada de timp în care rulează un anumit program.
- Hardware: Odată ce ai compilat Java cod nativ, rulează pe o anumită platformă hardware.
În acest fel, Java programul rulează în JRE.
Cum funcționează JVM?
Iată componentele importante ale JVM:
1) Încărcător de clasă
Încărcătorul de clasă este un subsistem folosit pentru încărcarea fișierelor de clasă. Îndeplinește trei funcții majore și anume. Încărcare, conectare și inițializare.
2) Zona Metodă
Zona Metodei JVM stochează structura clasei, cum ar fi metadate, codul pentru Java metode și pool-ul constant de rulare.
3) grămada
Toate obiectele, matricele și variabilele de instanță sunt stocate într-un heap. Această memorie este partajată în mai multe fire.
4) Stive de limbaj JVM
Java Stivele de limbă stochează variabilele locale și rezultatele lor parțiale. Fiecare fir de execuție are propria sa stivă de limbaj JVM, creată concomitent pe măsură ce este creat firul. Un nou cadru este creat atunci când metoda este invocată și este eliminat când procesul de invocare a metodei este încheiat.
5) Registre PC
Registrele PC stochează adresa Java instrucțiuni de mașină virtuală, care se execută în prezent. În Java, fiecare thread are un registru PC separat.
6) Stive de metode native
Stivele de metode native dețin instrucțiunile codului nativ depinde de biblioteca nativă. Alocă memorie pe heap-uri native sau folosește orice tip de stivă.
7) Motor de execuție
Este un tip de software care este folosit pentru a testa software, hardware sau sisteme complete. Motorul de execuție a testului nu conține niciodată informații despre produsul testat.
8) Interfață Native Method
Interfața Native Method este un cadru de programare. Permite Java cod, care rulează într-un JVM pentru a fi apelat de biblioteci și aplicații native.
9) Biblioteci cu metode native
Native Libraries este o colecție a Native Libraries (C, C++), care sunt necesare pentru Execution Engine.
Diferența dintre JDK, JRE și JVM
Iată diferențele majore dintre JDK și JRE și JVM:
JDK | JRE | FMV |
---|---|---|
Forma completă a JDK este Java Kit de dezvoltare. | Forma completă a JRE este Java Mediul de rulare. | Forma completă a JVM este Java Mașină virtuală. |
JDK este un kit de dezvoltare software pentru a dezvolta aplicații în Java. | Este un pachet de software care oferă Java biblioteci de clasă cu componente necesare pentru a rula Java cod. | JVM execută Java cod octet și oferă un mediu pentru executarea acestuia. |
JDK depinde 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 le 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 le permite dezvoltatorilor să creeze Java programe care pot fi executate și rulate de JRE și JVM. | JRE face parte din Java care creează JVM-ul. | Acesta este Java componentă a platformei care execută codul sursă. |
JDK vine cu programul de instalare. | JRE conține doar mediul pentru a executa codul sursă. | JVM inclus în ambele software JDK și JRE. |