JDK vs JRE vs JVM: Nøgleforskelle
Hvad er JDK?
JDK er et softwareudviklingsmiljø, der bruges til at fremstille applets og Java-applikationer. Den fulde form for JDK er Java Development Kit. Java-udviklere kan bruge det på Windows, macOS, Solaris og Linux. JDK hjælper dem med at kode og køre Java-programmer. Det er muligt at installere mere end en JDK-version på den samme computer.
I denne vejledning lærer du:
- Hvad er JDK?
- Hvad er JRE?
- Hvad er JVM?
- Hvorfor bruge JDK?
- Hvorfor bruge JRE?
- Hvorfor JVM?
- Funktioner i JDK
- Funktioner i JRE
- Funktioner i JVM
- Hvordan JDK fungerer?
- Hvordan fungerer JRE?
- Hvordan JVM fungerer?
- Forskel mellem JDK, JRE og JVM
Hvad er JRE?
JRE er et stykke software, der er designet til at køre anden software . Den indeholder klassebibliotekerne, loader-klassen og JVM. Enkelt sagt, hvis du vil køre Java-program, har du brug for JRE. Hvis du ikke er programmør, behøver du ikke installere JDK, men bare JRE for at køre Java-programmer. Skønt alle JDK-versioner leveres sammen med Java Runtime Environment, så du behøver ikke downloade og installere JRE separat i din PC. Den fulde form for JRE er Java Runtime Environment.
Hvad er JVM?
JVM er en motor, der leverer et runtime-miljø til at køre Java-koden eller applikationerne. Det konverterer Java-bytecode til maskinsprog. JVM er en del af Java Run Environment (JRE). Det kan ikke downloades og installeres separat. For at installere JVM skal du installere JRE. fuld form for JVM er Java Virtual Machine.
I mange andre programmeringssprog producerer compileren maskinkode til et specifikt system. Java-compiler producerer dog kode til en virtuel maskine, der kaldes JVM.
Nøgleforskelle
- JDK er et softwareudviklingssæt, mens JRE er et softwarepakke, der giver Java-programmet mulighed for at køre, derimod JVM er et miljø til udførelse af bytecode.
- Den fulde form for JDK er Java Development Kit, mens den fulde form for JRE er Java Runtime Environment, mens den fulde form for JVM er Java Virtual Machine.
- JDK er platformafhængig, JRE er også platformafhængig, men JVM er platformuafhængig.
- JDK indeholder værktøjer til udvikling, fejlretning osv. JRE indeholder klassebiblioteker og andre understøttende filer, mens software udviklingsværktøjer er ikke inkluderet i JVM.
- JDK leveres med installationsprogrammet, på den anden side indeholder JRE kun miljøet til at udføre kildekode, mens JVM er samlet i både software JDK og JRE.
Hvorfor bruge JDK?
Her er de vigtige grunde til at bruge JDK:
- JDK indeholder værktøjer, der kræves til at skrive Java-programmer, og JRE at henrette dem.
- Den inkluderer en kompilator, Java-applikationsstarter, Appletviewer osv.
- Compiler konverterer kode skrevet i Java til bytekode.
- Java-applikationsstarter åbner en JRE, indlæser den nødvendige klasse og udfører dens hovedmetode.
Hvorfor bruge JRE?
Her er vigtige grunde til at bruge JRE:
- JRE indeholder klassebiblioteker, JVM og andre understøttende filer. Det indeholder ikke noget værktøj til Java-udvikling som en debugger, compiler osv.
- Det bruger vigtige pakkeklasser som matematik, swingetc, util, lang, awt og runtime biblioteker.
- Hvis du skal køre Java-applets, skal JRE være installeret i dit system.
Hvorfor JVM?
Her er de vigtige grunde til at bruge JVM:
- JVM giver en platformuafhængig måde at udføre Java på kildekode.
- Den har adskillige biblioteker, værktøjer og rammer.
- Når du har kørt Java-programmet, kan du køre på enhver platform og spare masser af tid.
- JVM leveres med JIT (Just-in-Time) compiler, der konverterer Java-kildekode til maskinsprog på lavt niveau. Derfor kører den hurtigere som en almindelig applikation.
Funktioner i JDK
Her er de vigtige funktioner i JDK:
- Det giver dig mulighed for at håndtere flere udvidelser i en enkelt fangstblok.
- JDK indeholder alle funktioner, som JRE har.
- Den indeholder udviklingsværktøjer såsom en kompilator, fejlretning osv.
- JDK giver miljøet til at udvikle og udføre Java-kildekode.
- Det kan installeres på Windows-, Unix- og Mac-operativsystemer.
- Diamond-operatør kan bruges til at specificere en generisk grænseflade i stedet for at skrive den nøjagtige.
Funktioner i JRE
Her er de vigtige funktioner i JRE:
- Java Runtime Environment er et sæt værktøjer, hvor JVM faktisk kører.
- JRE indeholder implementeringsteknologi, herunder Java Web Start og Java Plug-in.
- Udviklere kan let køre kildekoden i JRE, men han / hun kan ikke skrive og kompilere Java-programmet.
- Det inkluderer integrationsbiblioteker som Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI) og mere.
- JRE har JVM og Java HotSpot virtuel maskinklient.
JVM-funktioner
Her er de vigtige funktioner i JVM:
- Det giver dig mulighed for at køre applikationer i et skymiljø eller på din enhed.
- Java Virtual Machine konverterer bytekode til den maskinspecifikke kode.
- Det giver grundlæggende java-funktioner som hukommelsesadministration, sikkerhed, affaldsindsamling og mere.
- JVM kører programmet ved hjælp af biblioteker og filer fra Java Runtime Environment.
- JDK og JRE indeholder begge Java Virtual Machine.
- Det kan udføre java-programlinjen efter linje, derfor kaldes den også som tolk.
- JVM kan let tilpasses for eksempel, du kan allokere minimum og maksimal hukommelse til den.
- Den er uafhængig af hardware og operativsystemet. Så du kan skrive et java-program en gang og køre hvor som helst.
Hvordan JDK fungerer?
Her er de vigtige komponenter i JDK:
- JDK og JRE: JDK gør det muligt for programmører at oprette centrale Java-programmer, der kan køres af JRE, som omfattede JVM og klassebiblioteker.
- Klassebiblioteker: Det er en gruppe af dynamisk indlæselige biblioteker, som Java-programmet kan ringe til på kørselstid.
- Kompilatorer: Det er et Java-program, der accepterer tekstfiler fra udviklere og kompileres til Java-klassefil. Det er den almindelige form for output givet af kompilatoren, som indeholder Java-byte-kode. I Java er den primære kompilator Javac.
- Debuggers: Debugger er et Java-program, der lader udviklere teste og fejle Java-programmer.
- JavaDoc: JavaDoc er dokumentation lavet af Sun Microsystems til Java. JavaDoc kan bruges til at generere API-dokumentation i HTML-fil fra kildeprogrammet
Hvordan fungerer JRE?
JRE har en forekomst af JVM med sig, biblioteksklasser og udviklingsværktøjer. Når du først har skrevet og kompileret Java-kode, genererer compileren en klassefil med byte-kode.
Her er de vigtige komponenter i JRE:
- Klasselæssere: Klasselæsseren indlæser forskellige klasser, der er nødvendige for at køre et Java-program. JVM bruger tre klasselæssere, der kaldes bootstrap-klasselæsseren, udvidelsesklasselæsseren og systemklasselæsseren.
- Bytekodeverifikator: Bytekodeverifikator verificerer bytekoden, så koden ikke forstyrrer tolken.
- Tolk: Når klasserne er indlæst, og koden er verificeret, læser tolk koden linje for linje.
- Kørselstid: Kørselstid er et system, der hovedsageligt bruges til programmering til beskrive den periode, hvor et bestemt program kører.
- Hardware: Når du først har kompileret Java-kode, kører det på en bestemt hardwareplatform.
På denne måde Java-programmet kører i JRE.
Hvordan JVM fungerer?
Her er de vigtige komponenter i JVM:
1) Class Loader
Class loader er et undersystem, der bruges til indlæser klassefiler. Det udfører tre hovedfunktioner, nemlig. Indlæsning, sammenkædning og initialisering.
2) Metodeområde
JVM Metodeområde gemmer klassenes struktur som metadata, koden til Java-metoder og den konstante runtime-pool.
3) Heap
Alle objekter, arrays og instansvariabler er gemt i en bunke. Denne hukommelse deles på tværs af flere tråde.
4) JVM-sprogstakke
Java-sprogstakke gemmer lokale variabler og dens delvise resultater. Hver tråd har sin egen JVM-sprogstak, der oprettes samtidigt, når tråden oprettes. En ny ramme oprettes, når metoden påberåbes, og den fjernes, når fremgangsmåden for påkaldelse af metode er afsluttet.
5) PC-registre
PC-registre gemmer adressen på Java-virtuel maskininstruktion, som i øjeblikket udføres. I Java har hver tråd sit separate pc-register.
6) Indfødte metodestakke
Indfødte metodestakke holder instruktionen om native-kode afhænger af det oprindelige bibliotek. Det tildeler hukommelse på oprindelige dynger eller bruger enhver form for stak.
7) Udførelsesmotor
Det er en type software, der bruges til at teste software, hardware eller komplette systemer. Testudførelsesmotoren bærer aldrig nogen oplysninger om det testede produkt.
8) Grænseflade Native Method
Grænsefladen Native Method er en programmeringsramme. Det gør det muligt for Java-kode, der kører i en JVM, at kalde op af biblioteker og indfødte applikationer.
9) Biblioteker med indfødte metoder
Indfødte biblioteker er en samling af indfødte biblioteker (C, C ++), som er nødvendige af udførelsesmotoren.
Forskel mellem JDK, JRE og JVM
Her er de største forskelle mellem JDK vs. JRE vs. JVM:
JDK | JRE | JVM |
Den fulde form for JDK er Java Development Kit. | Den fulde form for JRE er Java Runtime Environment. | Den fulde form for JVM er Java Virtual Machine. |
JDK er et softwareudviklingssæt til udvikling af applikationer i Java. | Det er et softwarepakke, der giver Java-klassebiblioteker de nødvendige komponenter til at køre Java-kode. | JVM udfører Java-byte-kode og giver et miljø til at udføre den. |
JDK er platformafhængig. | JRE er også platformafhængig. | JVM er platformuafhængig. |
Den indeholder værktøjer til udvikling, fejlretning og overvågning af java-kode. | Den indeholder klassebiblioteker og andre understøttende filer, som JVM kræver for at udføre programmet. | Softwareudviklingsværktøjer er ikke inkluderet i JVM. |
Det er supersættet til JRE | Det er undersættet af JDK. | JVM er en delmængde af JRE. |
JDK gør det muligt for udviklere at oprette Java-programmer, der kan udføres og køres af JRE og JVM. | JRE er den del af Java, der opretter JVM. | Det er Java-platformskomponenten, der udfører kildekoden. |
JDK leveres med installationsprogrammet. | JRE indeholder kun miljø til udførelse af kildekode. | JVM bundtet i både software JDK og JRE. |