Hva er komponentene i Java Architecture?



Java Architecture kombinerer prosessen med kompilering og tolkning. I denne artikkelen vil jeg fortelle deg om de forskjellige komponentene i Java Architecture

Java Architecture kombinerer prosessen med kompilering og tolkning. Den forklarer de ulike prosessene som er involvert i formuleringen av en . Før jeg begynner med temaet, la meg introdusere deg for dagsordenen for denne artikkelen.

Nedenfor nevnte tips vil være diskusjonstemaene våre:





La oss begynne med å forstå hva som er Java Architecture?



Hva er Java Architecture?

Her vil jeg forklare deg java-arkitekturen i enkle trinn.

  • I Java er det en prosess med kompilering og tolkning.
  • Koden skrevet inn , blir konvertert til byte-koder som gjøres av Java Compiler.
  • Byte-kodene blir deretter konvertert til maskinkode av JVM.
  • Maskinkoden utføres direkte av maskinen.

Dette diagrammet illustrerer den interne driften av en Java-kode, eller presist, Java Architecture!



JVM - Java Architecture - EdurekaLa oss nå grave litt dypere i java-arkitektur og snakke om forskjellige .

Komponenter av Java Architecture

Det er tre hovedkomponenter i Java-språket: JVM, JRE og JDK .

Java Virtual Machine, Java Runtime Environment og Java Development Kit.

La meg utdype hver og en av dem:

Java Virtual Machine:

Har du noen gang hørt om WORA? (Skriv en gang Kjør hvor som helst). Vel, Java-applikasjoner kalles WORA på grunn av deres evne til å kjøre en kode på hvilken som helst plattform. Dette gjøres bare på grunn av JVM. JVM er en Java-plattformkomponent som gir et miljø for å utføre Java-programmer. JVM tolker bytekoden i maskinkode som utføres i maskinen Java-programmet kjører i.

Så i et nøtteskall utfører JVM følgende funksjoner:

  • Laster inn koden
  • Verifiserer koden
  • Utfører koden
  • Tilbyr miljø for kjøretid

La meg nå vise deg JVM-arkitekturen. Her går!

Forklaring:

Class Loader : Class loader er et undersystem av JVM. Den brukes til å laste inn klassefiler. Hver gang vi kjører Java-programmet, laster class loader det først.

Klassemetodeområde : Det er et av dataområdet i JVM, der klassedata vil bli lagret. Statiske variabler, statiske blokker, statiske metoder, instansmetoder lagres i dette området.

Haug : En bunke opprettes når JVM starter opp. Det kan øke eller redusere i størrelse mens applikasjonen kjører.

Stable : JVM stack er kjent som en thread stack. Det er et dataområde i JVM-minnet som er opprettet for en enkelt kjøringstråd. JVM-bunken til en tråd brukes av tråden til å lagre forskjellige elementer, dvs. lokale variabler, delvise resultater og data for anropsmetode og retur.

Innfødt stabel : Den inneholder alle de innfødte metodene som brukes i applikasjonen din.

Utførelsesmotor:

  • JIT-kompilator
  • Søppelmann

JIT-kompilator: De Just-In-Time (JIT) kompilator er en del av kjøretidsmiljøet. Det hjelper med å forbedre ytelsen til Java-applikasjoner ved å kompilere bytekoder til maskinkode på kjøretid. JIT-kompilatoren er aktivert som standard. Når en metode er kompilert, kaller JVM den kompilerte koden for den metoden direkte. JIT-kompilatoren kompilerer bytekoden for denne metoden til maskinkode, og kompilerer den 'akkurat i tide' for å kjøre.

Søppelmann: Som navnet forklarer det Søppelmann betyr å samle det ubrukte materialet. Vel, i JVM er dette arbeidet gjort av søppelinnsamling. Den sporer hvert eneste objekt som er tilgjengelig i JVM-bunken og fjerner uønskede.
Søppeloppsamler fungerer i to enkle trinn kjent som Mark og Sweep:

  • Merk - det er der søppeloppsamleren identifiserer hvilket minne som er i bruk og ikke
  • Fei - det fjerner gjenstander som er identifisert i løpet av 'merkefasen'.

Java Runtime Environment:

JRE-programvaren bygger et kjøretidsmiljø der Java-programmer kan kjøres. JRE er systemet på disken som tar Java-koden din, kombinerer den med de nødvendige bibliotekene og starter JVM for å utføre den. JRE inneholder biblioteker og programvare som Java-programmene dine trenger for å kjøre. JRE er en del av JDK (som vi vil studere senere), men kan lastes ned separat.

round robin-program i c

Java-utviklingssett:

Java Development Kit (JDK) er et programvareutviklingsmiljø som brukes til å utvikle Java-applikasjoner og applets. Den inneholder JRE og flere utviklingsverktøy, en tolk / laster (java), en kompilator (javac), en arkiver (jar), en dokumentasjonsgenerator (javadoc) ledsaget av et annet verktøy.

Det blå området vist i diagrammet er JDK. La meg nå utdype utviklingsverktøyene til dere alle.

java : det er startprogrammet for alle java-applikasjonene.
javac : overholdelse av Java-programmeringsspråkene.
javadoc : det er API-dokumentasjonsgeneratoren.
krukke : oppretter og administrerer alle JAR-filene.

La oss gå videre med Java-arkitektur, la oss forstå hvordan Java-plattformen er uavhengig?

Hvordan er Java-plattformuavhengig?

Når kalles et programmeringsspråk som plattformuavhengig? Vel, hvis og bare hvis den kan kjøres på alle tilgjengelige operativsystemer med hensyn til utvikling og kompilering.
Nå, Java er plattformuavhengig bare på grunn av bytekoden. La meg fortelle deg hva som egentlig er en bytekode? For å si det enkelt,
Bytecode er en kode for JVM som er maskinforståelig.
Bytecode-kjøring i Java viser at det er et plattformuavhengig språk.
Her vil jeg vise deg trinnene som er involvert i prosessen med kjøring av Java bytecode.

Nedenfor er forklaringen på trinnene som er involvert:

sample.java → javac (sample. class) → JVM (sample.obj) → final output

Første kildekode brukes av Java-kompilatoren og konverteres i .class-fil. Klassefilkoden er i bytekodeform, og den klassefilen brukes av JVM til å konvertere til en objektfil. Etter det kan du se den endelige utgangen på skjermen.

La oss gå videre i Java-arkitekturartikkelen, la oss forstå konseptet med JIT i Java .

JIT i Java

Just In Time kompilator, kjent som JIT, er i utgangspunktet ansvarlig for ytelsesoptimalisering av java-baserte applikasjoner på kjøretid. Utførelsen av en applikasjon er avhengig av en kompilator.
Her er et enkelt diagram som viser deg den interne prosessen som pågår.

JIT Compiler - Java Architecture - Edureka

JIT-kompilatoren kompilerer byte-koden til metoden til maskinkode, og kompilerer den 'Just In Time' for å kjøre. Når en metode er kompilert, kaller JVM den kompilerte koden for den metoden direkte.
La oss dykke dypere:
Byte-koden må tolkes eller kompileres til riktig maskininstruksjon, avhengig av instruksjonssettet som er gitt. Disse kan også utføres direkte hvis instruksjonsarkitekturen er basert på byte-kode. Å tolke byte-koden påvirker hastigheten på utførelsen.
For å forbedre ytelsen, samhandler JIT-kompilatorer med Java Virtual Machine (JVM) på kjøretid og kompilerer passende bytekodesekvenser til naturlig maskinkode (som vist i diagrammet). Mens du bruker en JIT-kompilator, er maskinvaren i stand til å utføre den opprinnelige koden, sammenlignet med at JVM tolker den samme sekvensen av bytekode gjentatte ganger og påløper overhead for oversettelsesprosessen.

Med dette har jeg nådd mot slutten av denne artikkelen om Java Architecture. Jeg håper de ovennevnte emnene tilfører Java-kunnskapen din verdi. Følg med for flere artikler!

Nå som du har forstått det grunnleggende om Java, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne 'Java Architecture and its components' -bloggen, så kommer vi tilbake til deg så snart som mulig.