Hvad er komponenterne i Java Architecture?



Java Architecture kombinerer processen med kompilering og fortolkning. I denne artikel vil jeg fortælle dig om de forskellige komponenter i Java Architecture

Java Architecture kombinerer processen med kompilering og fortolkning. Den forklarer de forskellige involverede processer under formulering af en . Før jeg begynder med emnet, lad mig introducere dig med dagsordenen for denne artikel.

Nedenfor nævnte henvisninger vil være vores diskussionsemner:





Lad os begynde med at forstå, hvad der præcist er Java Architecture?



Hvad er Java Architecture?

Her vil jeg forklare java-arkitekturen i enkle trin.

  • I Java er der en proces med kompilering og fortolkning.
  • Koden skrevet ind , konverteres til bytekoder, som udføres af Java Compiler.
  • Bytekoderne konverteres derefter til maskinkode af JVM.
  • Maskinkoden udføres direkte af maskinen.

Dette diagram illustrerer den interne bearbejdning af en Java-kode, eller præcist, Java Architecture!



hvordan man indstiller java classpath i linux kommandolinje

JVM - Java Architecture - EdurekaLad os nu grave lidt dybere ned i java-arkitektur og tale om forskellige .

Komponenter i Java Architecture

Der er tre hovedkomponenter i Java-sproget: JVM, JRE og JDK .

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

Lad mig uddybe hver enkelt af dem en efter en:

Java Virtual Machine:

Nogensinde hørt om WORA? (Skriv en gang Kør hvor som helst). Nå kaldes Java-applikationer WORA på grund af deres evne til at køre en kode på enhver platform. Dette gøres kun på grund af JVM. JVM er en Java-platformskomponent, der giver et miljø til udførelse af Java-programmer. JVM fortolker bytekoden i maskinkode, der udføres i den maskine, hvor Java-programmet kører.

Så i en nøddeskal udfører JVM følgende funktioner:

  • Indlæser koden
  • Bekræfter koden
  • Udfører koden
  • Tilbyder runtime-miljø

Lad mig nu vise dig JVM-arkitekturen. Her går!

Forklaring:

Klasselæsser : Class loader er et undersystem af JVM. Det bruges til at indlæse klassefiler. Når vi kører java-programmet, indlæser class loader det først.

Klassemetodeområde : Det er et af dataområdet i JVM, hvor klassedata gemmes. Statiske variabler, statiske blokke, statiske metoder, instansmetoder gemmes i dette område.

Bunke : Der oprettes en bunke, når JVM starter. Det kan øges eller falde i størrelse, mens applikationen kører.

Stak : JVM stack er kendt som en thread stack. Det er et dataområde i JVM-hukommelsen, der oprettes til en enkelt udførelsestråd. JVM-stakken af ​​en tråd bruges af tråden til at gemme forskellige elementer, dvs. lokale variabler, delvise resultater og data til kaldemetode og returnering.

Indfødt stak : Det opsummerer alle de oprindelige metoder, der bruges i din applikation.

Udførelsesmotor:

  • Jit kompilator
  • Skraldemand

JIT-kompilator: Det Just-In-Time (JIT) kompilator er en del af runtime-miljøet. Det hjælper med at forbedre ydeevnen for Java-applikationer ved at kompilere bytekoder til maskinkode på kørselstid. JIT-kompilatoren er som standard aktiveret. Når en metode kompileres, kalder JVM direkte den kompilerede kode for denne metode. JIT-kompilatoren kompilerer bytekoden for denne metode til maskinkode og kompilerer den 'lige i tide' til at køre.

pl sql for begyndere med eksempler

Skraldemand: Som navnet forklarer det Skraldemand betyder at samle det ubrugte materiale. Nå, i JVM udføres dette arbejde ved affaldssamling. Det sporer hvert eneste objekt, der er tilgængeligt i JVM-bunkerummet, og fjerner uønskede.
Affaldssamler fungerer i to enkle trin kendt som Mark og Sweep:

  • Marker - det er her affaldssamleren identificerer hvilket stykke hukommelse der er i brug og hvilke der ikke er
  • Feje - det fjerner objekter, der er identificeret under 'mark' -fasen.

Java Runtime-miljø:

JRE-softwaren bygger et runtime-miljø, hvor Java-programmer kan udføres. JRE er det on-disk system, der tager din Java-kode, kombinerer den med de nødvendige biblioteker og starter JVM til at udføre den. JRE indeholder biblioteker og software, som dine Java-programmer har brug for til at køre. JRE er en del af JDK (som vi vil studere senere), men kan downloades separat.

Java-udviklingssæt:

Java Development Kit (JDK) er et softwareudviklingsmiljø, der bruges til at udvikle Java-applikationer og applets. Den indeholder JRE og flere udviklingsværktøjer, en tolk / loader (java), en kompilator (javac), en arkiver (jar), en dokumentationsgenerator (javadoc) ledsaget af et andet værktøj.

Det blå område vist i diagrammet er JDK. Lad mig nu uddybe udviklingsværktøjerne til jer alle.

java : det er startprogrammet til alle java-applikationer.
javac : overholdelse af java-programmeringssprogene.
javadoc : det er API-dokumentationsgeneratoren.
krukke : opretter og administrerer alle JAR-filer.

Gå videre med Java-arkitektur, lad os forstå, hvordan Java-platformen er uafhængig?

Hvordan er Java-platform uafhængig?

Hvornår kaldes et programmeringssprog som platformuafhængigt? Nå, hvis og kun hvis det kan køre på alle tilgængelige operativsystemer med hensyn til dets udvikling og kompilering.
Nu, Java er platformuafhængig bare på grund af bytecode. Lad mig fortælle dig, hvad der præcist er en bytekode? Enkelt sagt
Bytecode er en kode for JVM, som er maskinforståelig.
Bytecode-udførelse i Java viser, at det er et platformuafhængigt sprog.
Her vil jeg vise dig de trin, der er involveret i processen med java bytecode-udførelse.

Nedenfor er forklaringen på de involverede trin:

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

Første kildekode bruges af java compiler og konverteres i .class-fil. Klassefilkoden er i bytekodeform, og den klassefilen bruges af JVM til at konvertere til en objektfil. Derefter kan du se den endelige output på din skærm.

Gå videre i Java-arkitekturen, lad os forstå begrebet JIT i Java .

JIT i Java

Just In Time-kompilator, almindeligvis kendt som JIT, er grundlæggende ansvarlig for ydeevneoptimering af java-baserede applikationer på kørselstid. En applikations ydeevne afhænger af en kompilator.
Her er et simpelt diagram, der viser dig den interne proces, der foregår.

JIT Compiler - Java Architecture - Edureka

JIT-compileren kompilerer byte-koden for metoden til maskinkode og kompilerer den 'Just In Time' for at køre. Når en metode kompileres, kalder JVM direkte den kompilerede kode for denne metode.
Lad os dykke dybere:
Byte-koden skal fortolkes eller kompileres til korrekte maskininstruktioner afhængigt af det medfølgende instruktionssæt. Disse kan også udføres direkte, hvis instruktionsarkitekturen er baseret på bytekode. Fortolkning af bytekoden påvirker udførelseshastigheden.
For at forbedre ydeevnen interagerer JIT-compilere med Java Virtual Machine (JVM) ved kørselstid og kompilerer passende bytecode-sekvenser til native maskinkode (som vist i diagrammet). Mens du bruger en JIT-kompilator, er hardwaren i stand til at udføre den oprindelige kode sammenlignet med, at JVM fortolker den samme rækkefølge af bytecode gentagne gange og påløber overhead til oversættelsesprocessen.

Med dette har jeg nået mod slutningen af ​​denne artikel om Java Architecture. Jeg håber, at de ovennævnte emner tilføjer værdi til din Java-viden. Hold øje med flere artikler!

Nu hvor du har forstået det grundlæggende i Java, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til studerende og fagfolk, der ønsker at være Java-udvikler. Kurset er designet til at give dig et forspring i Java-programmering og træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

flet sortering c ++ array

Har du et spørgsmål til os? Nævn det i kommentarfeltet på denne “Java-arkitektur og dets komponenter” -blog, og vi vender tilbage til dig hurtigst muligt.