Vilka är komponenterna i Java Architecture?



Java Architecture kombinerar processen med sammanställning och tolkning. I den här artikeln berättar jag om de olika komponenterna i Java Architecture

Java Architecture kombinerar processen med sammanställning och tolkning. Den förklarar de olika processerna som är involverade när man formulerar en . Innan jag börjar med ämnet, låt mig presentera agendan för den här artikeln.

Nedan nämnda tips kommer att vara våra diskussionsämnen:





Låt oss börja med att förstå vad som exakt är Java Architecture?



Vad är Java Architecture?

Här förklarar jag Java-arkitekturen i enkla steg.

  • I Java finns en process av sammanställning och tolkning.
  • Koden skriven in , omvandlas till byte-koder vilket görs av Java Compiler.
  • Bytekoderna konverteras sedan till maskinkod av JVM.
  • Maskinkoden körs direkt av maskinen.

Detta diagram illustrerar den interna funktionen av en Java-kod, eller exakt, Java Architecture!



JVM - Java Architecture - EdurekaLåt oss nu gräva lite djupare i java-arkitektur och prata om olika .

Komponenter i Java Architecture

Det finns tre huvudkomponenter i Java-språket: JVM, JRE och JDK .

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

Låt mig utarbeta var och en av dem en efter en:

Java Virtual Machine:

Har du någonsin hört talas om WORA? (Skriv en gång Run Anywhere). Tja, Java-applikationer kallas WORA på grund av deras förmåga att köra en kod på vilken plattform som helst. Detta görs bara på grund av JVM. JVM är en Java-plattformskomponent som ger en miljö för att köra Java-program. JVM tolkar bytekoden till maskinkod som körs i den maskin där Java-programmet körs.

Så i ett nötskal utför JVM följande funktioner:

  • Läser in koden
  • Verifierar koden
  • Kör koden
  • Ger runtime-miljö

Låt mig nu visa dig JVM-arkitekturen. Här kommer!

vad som är föränderligt och oföränderligt

Förklaring:

Klasslastare : Klasslastare är ett delsystem till JVM. Den används för att ladda klassfiler. När vi kör Java-programmet laddar klasslastaren det först.

Klassmetodområde : Det är ett av dataområdet i JVM, där klassdata kommer att lagras. Statiska variabler, statiska block, statiska metoder, instansmetoder lagras i detta område.

Högen : En hög skapas när JVM startar. Det kan öka eller minska i storlek medan programmet körs.

Stack : JVM-stack är känd som en trådstack. Det är ett dataområde i JVM-minnet som skapas för en enda exekveringstråd. JVM-stacken på en tråd används av tråden för att lagra olika element, dvs lokala variabler, partiella resultat och data för anropsmetod och returer.

Inbyggd stack : Det sammanfattar alla inhemska metoder som används i din applikation.

Exekveringsmotor:

  • JIT-kompilator
  • Skräp samlare

JIT-kompilator: De Just-In-Time (JIT) kompilator är en del av runtime-miljön. Det hjälper till att förbättra prestandan för Java-applikationer genom att sammanställa bytekoder till maskinkod vid körning. JIT-kompilatorn är aktiverad som standard. När en metod sammanställs anropar JVM den sammanställda koden för den metoden direkt. JIT-kompilatorn sammanställer bytkoden för den metoden i maskinkod och kompilerar den 'precis i tid' för att köras.

läs xml-filen i java-exempel

Skräp samlare: Som namnet förklarar det Skräp samlare medel för att samla in oanvänt material. Tja, i JVM görs detta arbete med Garbage collection. Den spårar alla tillgängliga objekt i JVM-heaputrymmet och tar bort oönskade objekt.
Sopsamlare fungerar i två enkla steg som kallas Mark och Sweep:

  • Markera - det är där sopuppsamlaren identifierar vilken minnesdel som används och vilka inte
  • Sopa - det tar bort objekt som identifierats under 'märkfasen'.

Java Runtime-miljö:

JRE-programvaran bygger en runtime-miljö där Java-program kan köras. JRE är on-disk-systemet som tar din Java-kod, kombinerar den med de bibliotek som behövs och startar JVM för att köra den. JRE innehåller bibliotek och programvara som krävs av dina Java-program för att kunna köras. JRE är en del av JDK (som vi kommer att studera senare) men kan laddas ner separat.

Java-utvecklingssats:

Java Development Kit (JDK) är en mjukvaruutvecklingsmiljö som används för att utveckla Java-applikationer och applets. Den innehåller JRE och flera utvecklingsverktyg, en tolk / lastare (java), en kompilator (javac), en arkiverare (jar), en dokumentationsgenerator (javadoc) tillsammans med ett annat verktyg.

Det blå området som visas i diagrammet är JDK. Låt mig nu utveckla utvecklingsverktygen till er alla.

java : det är startprogrammet för alla Java-applikationer.
javac : uppfyller Java-programmeringsspråken.
javadoc : det är API-dokumentationsgeneratorn.
burk : skapar och hanterar alla JAR-filer.

Låt oss förstå hur Java-plattformen är oberoende när vi går vidare med Java-arkitekturen.

Hur är Java-plattformsoberoende?

När kallas något programmeringsspråk som plattformsoberoende? Tja, om och bara om den kan köras på alla tillgängliga operativsystem med avseende på dess utveckling och sammanställning.
Nu, Java är plattformsoberoende bara på grund av bytecode. Låt mig berätta vad exakt är en bytkod? I enkla termer,
Bytecode är en kod för JVM som är maskinförståelig.
Bytecode-körning i Java visar att det är ett plattformsoberoende språk.
Här visar jag dig stegen som är involverade i processen för Java bytecode-körning.

Nedan följer en förklaring av stegen:

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

Första källkoden används av Java-kompilatorn och konverteras till .class-fil. Klassfilkoden är i bytekodsform och den klassfilen används av JVM för att konvertera till en objektfil. Därefter kan du se den slutliga utgången på skärmen.

Låt oss förstå konceptet med Java-arkitekturen JIT i Java .

JIT i Java

Just In Time-kompilatorn, allmänt känd som JIT, är i grunden ansvarig för prestandaoptimering av java-baserade applikationer vid körning. Prestandan för en applikation är beroende av en kompilator.
Här är ett enkelt diagram som visar den interna processen som pågår.

JIT Compiler - Java Architecture - Edureka

JIT-kompilatorn sammanställer byte-koden för metoden till maskinkod och kompilerar den 'Just In Time' för att köras. När en metod sammanställs anropar JVM den sammanställda koden för den metoden direkt.
Låt oss dyka djupare:
Byte-koden måste tolkas eller sammanställas till korrekta maskininstruktioner beroende på instruktionsuppsättningen. Dessa kan också köras direkt om instruktionsarkitekturen är baserad på bytekod. Att tolka byte-koden påverkar körningshastigheten.
För att förbättra prestanda interagerar JIT-kompilatorer med Java Virtual Machine (JVM) vid körning och sammanställer lämpliga bytkodssekvenser till inbyggd maskinkod (som visas i diagrammet). Medan man använder en JIT-kompilator kan hårdvaran utföra den inbyggda koden, jämfört med att JVM tolkar samma sekvens av bytkod upprepade gånger och ådra sig omkostnader för översättningen.

Med detta har jag nått mot slutet av den här artikeln om Java Architecture. Jag hoppas att de ovan diskuterade ämnena tillför mervärde till din Java-kunskap. Håll koll på fler artiklar!

Nu när du har förstått grunderna i Java, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämn det i kommentarsektionen i denna 'Java Architecture and its components' -blogg så återkommer vi till dig så snart som möjligt.