JDK vs JRE vs JVM inn Java – Forskjellen mellom dem

Hovedforskjellen mellom JDK, JRE og JVM

  • JDK er et programvareutviklingssett mens JRE er en programvarepakke som tillater Java program som skal kjøres, mens JVM er et miljø for utføring av bytekode.
  • Den fullstendige 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 Virtuell maskin.
  • JDK er plattformavhengig, JRE er også plattformavhengig, men JVM er ikke plattformuavhengig.
  • JDK inneholder verktøy for utvikling, feilsøking osv. JRE inneholder klassebiblioteker og andre støttefiler, mens programvareutviklingsverktøy ikke er inkludert i JVM.
  • JDK kommer med installasjonsprogrammet, på den annen side inneholder JRE bare miljøet for å utføre kildekoden, mens JVM er samlet i både programvare JDK og JRE.

Hva er JDK?

JDK er et programvareutviklingsmiljø som brukes til å lage appleter og Java applikasjoner. Den fullstendige formen for JDK er Java Utviklingssett. 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.

Hva er JRE?

JRE er en del av en programvare som er designet for å kjøre annen programvare. Den inneholder klassebibliotekene, loaderklassen og JVM. Enkelt sagt, hvis du vil løpe Java programmet du trenger JRE. Hvis du ikke er programmerer, trenger du ikke det installer JDK, men bare JRE å kjøre Java programmer. Alle JDK-versjoner følger imidlertid med Java Runtime Environment, slik at du ikke trenger å laste ned og installere JRE separat på din PC. Den fullstendige formen for JRE er Java Runtime miljø.

Hva er JVM?

JVM er en motor som gir et driftsmiljø for å drive Java Kode eller applikasjoner. Den konverterer Java bytekode til maskinspråk. JVM er en del av Java Kjør miljø (JRE). Den kan ikke lastes ned og installeres separat. For å installere JVM, må du installere JRE. Den fullstendige formen for JVM er Java Virtuell maskin.

I mange andre programmeringsspråk produserer kompilatoren maskinkode for et spesifikt system. Imidlertid Java kompilatoren produserer kode for en virtuell maskin som kalles JVM.

Hvorfor bruke JDK?

Her er de viktige grunnene til å bruke JDK:

  • JDK inneholder verktøy som kreves for å skrive Java programmer, og JRE for å utføre dem.
  • Den inkluderer en kompilator, Java programstarter, Appletviewer, etc.
  • Kompilator konverterer kode skrevet inn Java inn i bytekode.
  • Java programstarter åpner en JRE, laster den nødvendige klassen og kjører hovedmetoden.

Hvorfor bruke JRE?

Her er de viktige grunnene til å bruke JRE:

  • JRE inneholder klassebiblioteker, JVM og andre støttefiler. Den inneholder ikke noe verktøy for Java utvikling som en debugger, kompilator, etc.
  • Den bruker viktige pakkeklasser som matematikk, swingetc, util, lang, awt og runtime-biblioteker.
  • Hvis du må løpe Java appleter, så må JRE være installert i systemet ditt.

Hvorfor JVM?

Her er de viktige grunnene til å bruke JVM:

  • JVM gir en plattformuavhengig måte å utføre Java kildekode.
  • Den har mange biblioteker, verktøy og rammer.
  • Når du løper Java programmet kan du kjøre på hvilken som helst plattform og spare mye tid.
  • JVM kommer med JIT (Just-in-Time) kompilator som konverterer Java kildekoden til maskinspråk på lavt nivå. Derfor kjører den raskere som en vanlig applikasjon.

Funksjoner av JDK

Her er de viktige funksjonene til JDK:

  • Den lar deg håndtere flere utvidelser i en enkelt fangblokk.
  • JDK inkluderer alle funksjoner som JRE har.
  • Den inneholder utviklingsverktøy som en kompilator, debugger, etc.
  • JDK gir miljøet til å utvikle og utføre Java kildekode.
  • Den kan installeres på Windows, Unix og Mac-operativsystemer.
  • Diamantoperatør kan brukes til å spesifisere en generisk type grensesnitt i stedet for å skrive den eksakte.

Funksjoner til JRE

Her er de viktige funksjonene til JRE:

  • Java Runtime Environment er et sett med verktøy som JVM faktisk kjører.
  • JRE inneholder distribusjonsteknologi, inkludert Java Web Start og Java Plugg inn.
  • Utviklere kan enkelt kjøre kildekoden i JRE, men han/hun kan ikke skrive og kompilere Java program.
  • Det inkluderer integrasjonsbiblioteker som Java Databasetilkobling (JDBC), Remote Method Invocation (RMI), Java Navngivning og kataloggrensesnitt (JNDI) og mer.
  • JRE har JVM og Java HotSpot virtuell maskinklient.

Funksjoner til JVM

Her er de viktige funksjonene til JVM:

  • Den lar deg kjøre applikasjoner i et skymiljø eller på enheten din.
  • Java Virtual Machine konverterer bytekode til maskinspesifikk kode.
  • Den gir grunnleggende java-funksjoner som minnehåndtering, sikkerhet, søppelinnsamling og mer.
  • JVM kjører programmet ved å bruke biblioteker og filer gitt av Java Runtime miljø.
  • JDK og JRE inneholder begge Java Virtuell maskin.
  • Det kan kjøre java-programmet linje for linje, og derfor kalles det også tolk.
  • JVM er lett å tilpasse for eksempel, du kan tildele minimum og maksimum minne til det.
  • Den er uavhengig av maskinvare og operativsystem. Så du kan skrive et java-program én gang og kjøre hvor som helst.

Hvordan fungerer JDK?

JDK-funksjoner
JDK-funksjonalitet

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 av dynamisk lastbare biblioteker som Java programmet kan ringe under kjøretid.
  • Kompilatorer: Det er en Java program som godtar tekstfil av utviklere og kompilerer inn i 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.
  • Debuggere: Debugger er en Java program som lar utviklere teste og feilsøke Java programmer.
  • JavaDok: 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-funksjoner

JRE-funksjonalitet

JRE har en forekomst av JVM med seg, bibliotekklasser og utviklingsverktøy. Når du skriver og kompilerer Java kode, genererer kompilatoren en klassefil med bytekode.

Her er de viktige komponentene i JRE:

  • Klasselastere: Klasselasteren laster forskjellige klasser som er nødvendige for å kjøre en Java program. JVM bruker tre klasselastere kalt bootstrap-klasselaster, utvidelsesklasselaster og systemklasselaster.
  • Bytekodebekreftelse: Bytekodebekreftelse verifiserer bytekoden slik at koden ikke forstyrrer tolken.
  • Tolk: Når klassene er lastet, og koden er verifisert, leser tolken koden linje for linje.
  • Kjøretid: Run-time er et system som hovedsakelig brukes i programmering for å beskrive tidsperioden et bestemt program kjører.
  • Maskinvare: Når du kompilerer Java opprinnelig kode, den kjører på en bestemt maskinvareplattform.

På denne måten Java programmet kjører i JRE.

Hvordan fungerer JVM?

JVM-funksjoner

JVM-funksjonalitet

Her er de viktige komponentene i JVM:

1) Klasselaster

Klasselasteren er et undersystem som brukes til å laste klassefiler. Den utfører tre hovedfunksjoner, nemlig. Lasting, kobling og initialisering.

2) Metodeområde

JVM Method Area lagrer klassestruktur som metadata, koden for Java metoder og den konstante kjøretidspoolen.

3) Haug

Alle objekter, matriser og forekomstvariabler er lagret i en haug. Dette minnet deles på tvers av flere tråder.

4) JVM-språkstabler

Java språkstabler lagrer lokale variabler, og dens delvise resultater. Hver eneste 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 metodeanropsprosessen er fullført.

5) PC-registre

PC-registre lagrer adressen til Java virtuell maskininstruksjon, som for tiden kjøres. I Java, hver tråd har sitt separate PC-register.

6) Native metodestabler

Innfødte metodestabler inneholder instruksjonene for opprinnelig kode, avhenger av det opprinnelige biblioteket. Den tildeler minne til innfødte hauger eller bruker hvilken som helst type stabel.

7) Utførelsesmotor

Det er en type programvare som brukes til å teste programvare, maskinvare eller komplette systemer. Testutførelsesmotoren inneholder aldri informasjon om det testede produktet.

8) Native Method-grensesnitt

Native Method Interface er et programmeringsrammeverk. Det tillater Java kode, som kjører i en JVM for å ringe av biblioteker og native applikasjoner.

9) Native metodebiblioteker

Native Libraries er en samling av Native Libraries (C, C++), som trengs av utførelsesmotoren.

Forskjellen mellom JDK, JRE og JVM

Her er de viktigste forskjellene mellom JDK vs. JRE vs. JVM:

JDK JRE JVM
Den fullstendige formen for JDK er Java Utviklingssett. Den fullstendige formen for JRE er Java Runtime miljø. Den fullstendige formen for JVM er Java Virtuell maskin.
JDK er et programvareutviklingssett for å utvikle applikasjoner i Java. Det er en programvarepakke som gir Java klassebiblioteker med nødvendige komponenter for å kjøre Java kode. JVM kjører Java byte-kode og gir et miljø for å utføre den.
JDK er plattformavhengig. JRE er også plattformavhengig. JVM er svært plattformavhengig.
Den inneholder verktøy for å utvikle, feilsøke og overvåke java-kode. Den inneholder klassebiblioteker og andre støttefiler som JVM krever for å kjøre programmet. Programvareutviklingsverktøy er ikke inkludert i JVM.
Det er supersettet til JRE Det er undergruppen av JDK. JVM er en undergruppe 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 en del av Java som skaper JVM. Det er Java plattformkomponent som kjører kildekoden.
JDK følger med installasjonsprogrammet. JRE inneholder kun miljø for å kjøre kildekode. JVM samlet i både programvare JDK og JRE.