Koje su komponente Java arhitekture?



Java Arhitektura kombinira postupak kompilacije i interpretacije. U ovom ću vam članku reći o raznim komponentama Java Arhitekture

Java Arhitektura kombinira postupak kompilacije i interpretacije. Objašnjava različite procese koji su uključeni tijekom formuliranja a . Prije nego što započnem s temom, dopustite mi da vas upoznam s dnevnim redom ovog članka.

Ispod spomenutih uputa bit će naše teme rasprave:





Počnimo s razumijevanjem što je zapravo Java arhitektura?



Što je Java arhitektura?

Ovdje ću vam objasniti java arhitekturu u jednostavnim koracima.

  • U Javi postoji proces kompilacije i interpretacije.
  • Kôd napisan na , pretvara se u bajt kodove, što čini Java Compiler.
  • Bajt kodove JVM zatim pretvara u strojni kod.
  • Strojni kôd izvršava izravno stroj.

Ovaj dijagram ilustrira unutarnji rad Java koda, ili tačno, Java Architecture!



JVM - Java arhitektura - EdurekaSada, zaronimo malo dublje u java arhitekturu i razgovarajmo o raznim .

Komponente Java arhitekture

Tri su glavne komponente Java jezika: JVM, JRE i JDK .

Java virtualni stroj, Java Runtime Environment i Java Development Kit.

Dopustite mi da razradim svaki od njih jedan po jedan:

Java virtualni stroj:

Jeste li ikad čuli za WORA? (Napiši jednom Run Anywhere). Pa, Java programi se nazivaju WORA zbog njihove sposobnosti pokretanja koda na bilo kojoj platformi. To je učinjeno samo zbog JVM-a. JVM je komponenta Java platforme koja pruža okruženje za izvršavanje Java programa. JVM interpretira bajt kod u strojni kod koji se izvršava u stroju u kojem se izvodi Java program.

Dakle, ukratko, JVM obavlja sljedeće funkcije:

  • Učitava kod
  • Potvrđuje kôd
  • Izvodi kôd
  • Omogućuje runtime okruženje

Sada ću vam pokazati JVM arhitekturu. Izvolite!

pl sql tutorial za početnike

Obrazloženje:

Utovarivač klase : Učitavač klase je podsustav JVM-a. Koristi se za učitavanje datoteka klase. Kad god pokrenemo java program, učitavač klasa ga prvo učita.

Područje metode klase : To je jedno od Područja podataka u JVM-u, u kojem će se pohraniti podaci klase. Statičke varijable, statički blokovi, statičke metode, metode instance pohranjene su u ovom području.

Hrpa : Hrpa se stvara kad se JVM pokrene. Može se povećati ili smanjiti u veličini dok se aplikacija izvodi.

Stog : JVM stog poznat je kao niz niti. To je podatkovno područje u JVM memoriji koje je stvoreno za jednu nit izvođenja. JVM stog niti koristi nit za spremanje različitih elemenata, tj. Lokalnih varijabli, djelomičnih rezultata i podataka za metodu i povrat pozivanja.

Izvorni stog : Sumira sve izvorne metode korištene u vašoj aplikaciji.

Izvršni mehanizam:

  • JIT kompajler
  • Sakupljač smeća

JIT kompajler: The Prevoditelj Just-In-Time (JIT) dio je runtime okruženja. Pomaže u poboljšanju performansi Java aplikacija kompiliranjem bajt kodova u strojni kod u vrijeme izvođenja. JIT kompajler omogućen je prema zadanim postavkama. Kada se metoda kompilira, JVM izravno poziva sastavljeni kôd te metode. JIT kompajler kompajlira bajtkod te metode u strojni kôd, sastavljajući ga 'tačno na vrijeme' za pokretanje.

system.exit (0) java

Sakupljač smeća: Kao što ime to objašnjava Sakupljač smeća znači prikupiti neiskorišteni materijal. Pa, u JVM-u ovaj posao obavlja prikupljanje smeća. Prati svaki objekt dostupan u JVM hrpi prostora i uklanja neželjene.
Sakupljač smeća radi u dva jednostavna koraka poznata kao Mark i Sweep:

  • Označi - skupljač smeća prepoznaje koji se komad memorije koristi, a koji ne
  • Sweep - uklanja predmete identificirane tijekom faze 'označavanja'.

Java Runtime Environment:

Softver JRE gradi runtime okruženje u kojem se mogu izvršavati Java programi. JRE je sustav na disku koji uzima vaš Java kôd, kombinira ga s potrebnim knjižnicama i pokreće JVM da ga izvrši. JRE sadrži biblioteke i softver koji su potrebni vašim Java programima za pokretanje. JRE je dio JDK-a (koji ćemo proučiti kasnije), ali se može preuzeti zasebno.

Java razvojni komplet:

Java Development Kit (JDK) je razvojno okruženje softvera koje se koristi za razvoj Java aplikacija i apleta. Sadrži JRE i nekoliko razvojnih alata, tumač / učitavač (java), kompajler (javac), arhiv (jar), generator dokumentacije (javadoc) u pratnji drugog alata.

Plavo područje prikazano na dijagramu je JDK. Dopustite mi da svima razradim razvojne alate.

Java : to je pokretač za sve Java aplikacije.
javac : sastavljač Java programskih jezika.
javadoc : to je generator API dokumentacije.
staklenka : stvara i upravlja svim JAR datotekama.

Napredujući s Java arhitekturom, shvatimo kako je Java platforma neovisna?

Kako je Java platforma neovisna?

Kada se bilo koji programski jezik naziva neovisnim o platformi? Pa, ako i samo ako može raditi na svim dostupnim operativnim sustavima s obzirom na njegov razvoj i kompilaciju.
Sada, Java je neovisan o platformi samo zbog bytecode-a. Dopustite mi da vam kažem što je zapravo bytecode? Jednostavno rečeno,
Bytecode je kod JVM-a koji je strojno razumljiv.
Izvršenje bajtkoda u Javi dokazuje da je jezik neovisan o platformi.
Ovdje ću vam pokazati korake koji su uključeni u postupak izvršavanja Java bytecode-a.

Dolje je objašnjenje koraka:

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

Prvi izvorni kod koristi java kompajler i pretvara se u datoteku .class. Kôd datoteke klase je u obliku bajtnog koda i tu datoteku klase koristi JVM za pretvaranje u objektnu datoteku. Nakon toga, na zaslonu možete vidjeti konačni izlaz.

Krećući se u članku o arhitekturi Java, shvatimo koncept JIT na Javi .

JIT na Javi

Kompajler Just In Time, poznat pod nazivom JIT, u osnovi je odgovoran za optimizaciju performansi Java aplikacija temeljene na vremenu izvođenja. Izvedba aplikacije ovisi o prevoditelju.
Evo jednostavnog dijagrama koji prikazuje unutarnji proces koji se odvija.

JIT kompajler - Java arhitektura - Edureka

JIT kompajler kompajlira bajt kôd metode u strojni kôd, sastavljajući ga 'Just In Time' za pokretanje. Kada se metoda kompilira, JVM izravno poziva sastavljeni kôd te metode.
Zaronimo dublje:
Kôd bajta mora se protumačiti ili sastaviti u odgovarajuće strojne upute, ovisno o priloženom skupu uputa. Također, oni se mogu izravno izvršiti ako se arhitektura uputa temelji na bajt-kodu. Tumačenje bajt koda utječe na brzinu izvršenja.
Kako bi poboljšali performanse, JIT-ovi kompajleri komuniciraju s Java virtualnim strojem (JVM) u vrijeme izvođenja i kompajliraju prikladne sekvence bajt-koda u izvorni strojni kôd (kao što je prikazano na dijagramu). Dok koristi JIT kompajler, hardver je u stanju izvršiti izvorni kôd u usporedbi s tim da JVM opetovano tumači istu sekvencu bajt-koda i ima dodatnih troškova za proces prevođenja.

Ovim sam stigao do kraja ovog članka o Java arhitekturi. Nadam se da su gore raspravljene teme dodale vrijednost vašem znanju o Javi. Pratite još članaka!

Sad kad ste razumjeli osnove Jave, pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA dizajniran je za studente i profesionalce koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog bloga 'Java Arhitektura i njezini dijelovi', a mi ćemo vam se javiti u najkraćem mogućem roku.