JDK vs JRE vs JVM: Nøkkelforskjeller
Hva er JDK?
JDK er et programvareutviklingsmiljø som brukes til å lage applets og Java-applikasjoner. Den fulle formen for JDK er Java Development Kit. Java-utviklere kan bruke den på Windows, macOS, Solaris og Linux. JDK hjelper dem med å kode og kjøre Java-programmer. Det er mulig å installere mer enn én JDK-versjon på samme datamaskin.
I denne opplæringen lærer du:
- Hva er JDK?
- Hva er JRE?
- Hva er JVM?
- Hvorfor bruke JDK?
- Hvorfor bruke JRE?
- Hvorfor JVM?
- Funksjoner i JDK
- Funksjoner i JRE
- Funksjoner i JVM
- Hvordan JDK fungerer?
- Hvordan fungerer JRE?
- Hvordan fungerer JVM?
- Forskjell mellom JDK, JRE og JVM
Hva er JRE?
JRE er en programvare som er designet for å kjøre annen programvare . Den inneholder klassebibliotekene, lasterklassen og JVM. Enkelt sagt, hvis du vil kjøre Java-program, trenger du JRE. Hvis du ikke er programmerer, trenger du ikke installere JDK, men bare JRE for å kjøre Java-programmer. Skjønt, alle JDK-versjoner leveres med Java Runtime Environment, så du trenger ikke å laste ned og installere JRE separat i PC. Den fulle formen for JRE er Java Runtime Environment.
Hva er JVM?
JVM er en motor som gir et kjøretidsmiljø for å kjøre Java-koden eller applikasjonene. Den konverterer Java-bykode til maskinspråk. JVM er en del av Java Run Environment (JRE). Det kan ikke lastes ned og installeres separat. For å installere JVM, må du installere JRE. full form for JVM er Java Virtual Machine.
I mange andre programmeringsspråk produserer kompilatoren maskinkode for et bestemt system. Java-kompilator produserer imidlertid kode for en virtuell maskin som kalles JVM.
HOVEDFORSKJELLER
- JDK er et programvareutviklingssett mens JRE er en programvarepakke som lar Java-programmet kjøre, mens JVM er et miljø for å utføre bytekode.
- Den fulle formen for JDK er Java Development Kit, mens den fulle formen for JRE er Java Runtime Environment, mens den fulle formen for JVM er Java Virtual Machine.
- JDK er plattformavhengig, JRE er også plattformavhengig, men JVM er plattformuavhengig.
- JDK inneholder verktøy for utvikling, feilsøking osv. JRE inneholder klassebiblioteker og andre støttende filer, mens programvare utviklingsverktøy er ikke inkludert i JVM.
- JDK leveres med installasjonsprogrammet, derimot inneholder JRE bare miljøet for å utføre kildekoden mens JVM leveres i både programvare JDK og JRE.
Hvorfor bruke JDK?
Her er de viktigste grunnene til å bruke JDK:
- JDK inneholder verktøy som kreves for å skrive Java-programmer, og JRE å henrette dem.
- Den inkluderer en kompilator, Java-applikasjonsstarter, Appletviewer osv.
- Compiler konverterer kode skrevet i Java til byte-kode.
- Java-applikasjonsstarter åpner en JRE, laster den nødvendige klassen og utfører hovedmetoden.
Hvorfor bruke JRE?
Her er viktige grunner til å bruke JRE:
- JRE inneholder klassebiblioteker, JVM og andre støttende filer. Den inneholder ikke noe verktøy for Java-utvikling som en feilsøking, kompilator osv.
- Den bruker viktige pakkeklasser som matematikk, swingetc, util, lang, awt og kjøretidsbiblioteker.
- Hvis du må kjøre Java-appletter, må JRE være installert i systemet ditt.
Hvorfor JVM?
Her er de viktigste grunnene til å bruke JVM:
- JVM gir en plattformuavhengig måte å utføre Java på kildekode.
- Den har mange biblioteker, verktøy og rammer.
- Når du har kjørt Java-programmet, kan du kjøre på en hvilken som helst plattform og spare mye tid.
- JVM leveres med JIT (Just-in-Time) kompilator som konverterer Java kildekode til maskinspråk på lavt nivå. Derfor kjører den raskere som en vanlig applikasjon.
Funksjoner i JDK
Her er de viktige funksjonene i JDK:
- Den lar deg håndtere flere utvidelser i en enkelt fangstblokk.
- JDK inneholder alle funksjonene som JRE har.
- Den inneholder utviklingsverktøy som en kompilator, feilsøking osv.
- JDK gir miljøet til å utvikle og utføre Java kildekode.
- Den kan installeres på operativsystemene Windows, Unix og Mac.
- Diamantoperatøren kan brukes til å spesifisere et generisk grensesnitt i stedet for å skrive det nøyaktige.
Funksjoner i JRE
Her er de viktige funksjonene i JRE:
- Java Runtime Environment er et sett med verktøy som JVM faktisk kjører.
- JRE inneholder distribusjonsteknologi, inkludert Java Web Start og Java Plug-in.
- Utviklere kan enkelt kjøre kildekoden i JRE, men han / hun kan ikke skrive og kompilere Java-programmet.
- Det inkluderer integrasjonsbiblioteker som Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI), og mer.
- JRE har JVM og Java HotSpot virtuell maskinklient.
Funksjoner i JVM
Her er de viktige funksjonene i JVM:
- Det lar deg kjøre applikasjoner i et skymiljø eller på enheten.
- Java Virtual Machine konverterer byte-kode til den maskinspesifikke koden.
- Den gir grunnleggende java-funksjoner som minnehåndtering, sikkerhet, søppelinnsamling og mer.
- JVM kjører programmet ved hjelp av biblioteker og filer gitt av Java Runtime Environment.
- JDK og JRE inneholder begge Java Virtual Machine.
- Den kan utføre java-programlinjen etter linje, derfor kalles den også som tolk.
- JVM kan enkelt tilpasses for eksempel, du kan tildele minimum og maksimalt minne til det.
- Det er uavhengig av maskinvare og operativsystem. Så du kan skrive et Java-program en gang og kjøre hvor som helst.
Hvordan JDK fungerer?
Her er de viktige komponentene i JDK:
- JDK og JRE: JDK gjør det mulig for programmerere å lage kjerne-Java-programmer som kan kjøres av JRE, som inkluderte JVM og klassebiblioteker.
- Klassebiblioteker: Det er en gruppe dynamisk lastbare biblioteker som Java-programmet kan ringe til på kjøretid.
- Kompilatorer: Det er et Java-program som godtar tekstfiler fra utviklere og kompileres til Java-klassefil. Det er den vanlige formen for utdata gitt av kompilatoren, som inneholder Java-byte-kode. I Java er den primære kompilatoren Javac.
- Feilsøking: Debugger er et Java-program som lar utviklere teste og feilsøke Java-programmer.
- JavaDoc: JavaDoc er dokumentasjon laget av Sun Microsystems for Java. JavaDoc kan brukes til å generere API-dokumentasjon i HTML-fil fra kildeprogrammet
Hvordan fungerer JRE?
JRE har en forekomst av JVM med seg, bibliotekklasser og utviklingsverktøy. Når du har skrevet og kompilert Java-kode, genererer kompilatoren en klassefil med byte-kode.
Her er de viktige komponentene i JRE:
- Klasselastere: Klasselaster laster inn forskjellige klasser som er nødvendige for å kjøre et Java-program. JVM bruker tre klasselastere kalt bootstrap class loader, extensions class loader og system class loader.
- Byte code verifier: Byte code verifier verifiserer bytekoden slik at koden ikke forstyrrer tolken.
- Tolk: Når klassene er lastet inn og koden er bekreftet, leser tolk koden linje for linje.
- Kjøretid: Kjøretid er et system som hovedsakelig brukes i programmering til beskriv tidsperioden der et bestemt program kjører.
- Maskinvare: Når du kompilerer Java-innfødt kode, kjører det på en bestemt maskinvareplattform.
På denne måten, Java-programmet kjører i JRE.
Hvordan JVM fungerer?
Her er de viktige komponentene i JVM:
1) Class Loader
Class loader er et delsystem som brukes til laster inn klassefiler. Den utfører tre hovedfunksjoner, nemlig. Lasting, kobling og initialisering.
2) Metodeområde
JVM Metodeområde lagrer struktur av klassen som metadata, koden for Java-metoder og den konstante kjøretidspoolen.
3) Heap
Alle objekter, matriser og forekomstvariabler er lagret i en bunke. Dette minnet deles over flere tråder.
4) JVM-språkstabler
Java-språkstabler lagrer lokale variabler og dens delvise resultater. Hver tråd har sin egen JVM-språkstabel, opprettet samtidig som tråden opprettes. En ny ramme opprettes når metoden påkalles, og den fjernes når prosessen med påkalling av metode er fullført.
5) PC-registre
PC-registre lagrer adressen til Java virtuell maskininstruksjon, som for øyeblikket kjøres. I Java har hver tråd sitt eget PC-register.
6) Native Method Stacks
Native method stacks holder instruksjonene til native code, avhenger av det opprinnelige biblioteket. Den tildeler minne på innfødte dynger eller bruker en hvilken som helst stabel.
7) Utførelsesmotor
Det er en type programvare som brukes til å teste programvare, maskinvare eller komplette systemer. Testutførelsesmotoren har aldri informasjon om det testede produktet.
8) Grensesnitt for opprinnelig metode
Grensesnittet for opprinnelig metode er et programmeringsrammeverk. Det lar Java-kode, som kjører i en JVM, ringe av biblioteker og innfødte applikasjoner.
9) Innfødte metodebiblioteker
Innfødte biblioteker er en samling av innfødte biblioteker (C, C ++), som er nødvendige av Execution Engine.
Forskjellen mellom JDK, JRE og JVM
Her er de største forskjellene mellom JDK vs. JRE vs. JVM:
JDK | JRE | JVM |
Den fulle formen for JDK er Java Development Kit. | Den fulle formen for JRE er Java Runtime Environment. | Den fulle formen for JVM er Java Virtual Machine. |
JDK er et programvareutviklingssett for å utvikle applikasjoner i Java. | Det er en programvarepakke som gir Java-klassebiblioteker nødvendige komponenter for å kjøre Java-kode. | JVM utfører Java-byte-kode og gir et miljø for å utføre den. |
JDK er plattformavhengig. | JRE er også plattformavhengig. | JVM er plattformuavhengig. |
Den inneholder verktøy for utvikling, feilsøking og overvåking av Java-kode. | Den inneholder klassebiblioteker og andre støttefiler som JVM krever for å utføre programmet. | Programvareutviklingsverktøy er ikke inkludert i JVM. |
Det er supersettet til JRE | Det er delsett av JDK. | JVM er en delmengde av JRE. |
JDK gjør det mulig for utviklere å lage Java-programmer som kan kjøres og kjøres av JRE og JVM. | JRE er den delen av Java som oppretter JVM. | Det er Java-plattformkomponenten som kjører kildekoden. |
JDK følger med installasjonsprogrammet. | JRE inneholder bare miljø for å utføre kildekoden. | JVM samlet i både programvare JDK og JRE. |