Care sunt componentele arhitecturii Java?



Java Architecture combină procesul de compilare și interpretare. În acest articol, vă voi spune despre diferitele componente ale Arhitecturii Java

Java Architecture combină procesul de compilare și interpretare. Acesta explică diferitele procese implicate în timpul formulării unui . Înainte de a începe cu subiectul, permiteți-mi să vă prezint agenda pentru acest articol.

Subiectele menționate mai jos vor fi subiectele noastre de discuție:





Să începem prin a înțelege ce este exact Arhitectura Java?



Ce este Java Architecture?

Aici, vă voi explica arhitectura java în pași simpli.

  • În Java, există un proces de compilare și interpretare.
  • Codul scris în , este convertit în coduri de octeți care este realizat de Java Compiler.
  • Codurile de octeți, apoi sunt convertite în cod mașină de către JVM.
  • Codul mașinii este executat direct de mașină.

Această diagramă ilustrează funcționarea internă a unui cod Java sau, precis, Java Architecture!



JVM - Arhitectura Java - EdurekaAcum, să ne săpăm puțin mai adânc în arhitectura Java și să vorbim despre diverse .

merge sort algoritm c ++

Componentele arhitecturii Java

Există trei componente principale ale limbajului Java: JVM, JRE și JDK .

Java Virtual Machine, Java Runtime Environment și respectiv Java Development Kit.

Permiteți-mi să elaborez fiecare dintre ele unul câte unul:

Mașină virtuală Java:

Ai auzit vreodată despre WORA? (Scrie o dată Run Anywhere). Ei bine, aplicațiile Java sunt numite WORA datorită capacității lor de a rula un cod pe orice platformă. Acest lucru se face numai din cauza JVM. JVM este o componentă a platformei Java care oferă un mediu pentru executarea programelor Java. JVM interpretează bytecode-ul în codul mașinii care este executat în mașina în care rulează programul Java.

Deci, pe scurt, JVM îndeplinește următoarele funcții:

  • Încarcă codul
  • Verifică codul
  • Execută codul
  • Oferă mediu de rulare

Acum, permiteți-mi să vă arăt arhitectura JVM. Iată!

Explicaţie:

Încărcător de clase : Încărcătorul de clase este un subsistem al JVM. Este folosit pentru a încărca fișiere de clasă. Ori de câte ori rulăm programul java, încărcătorul de clasă îl încarcă mai întâi.

Zona metodei clasei : Este una din zona de date din JVM, în care datele de clasă vor fi stocate. Variabile statice, blocuri statice, metode statice, metode de instanță sunt stocate în această zonă.

Morman : O grămadă este creată când JVM pornește. Poate crește sau micșora dimensiunea în timp ce aplicația rulează.

Grămadă : Stiva JVM este cunoscută sub numele de stivă de fire. Este o zonă de date din memoria JVM care este creată pentru un singur fir de execuție. Stiva JVM a unui thread este utilizată de thread pentru a stoca diverse elemente, adică variabile locale, rezultate parțiale și date pentru metoda de apelare și returnări.

Stivă nativă : Subsumează toate metodele native utilizate în aplicația dvs.

Motor de execuție:

  • Compilator JIT
  • Colector de gunoi

Compilator JIT: Compilator Just-In-Time (JIT) face parte din mediul de execuție. Ajută la îmbunătățirea performanței aplicațiilor Java prin compilarea codurilor oculare în codul mașinii în timpul rulării. Compilatorul JIT este activat în mod implicit. Când este compilată o metodă, JVM apelează direct codul compilat al acelei metode. Compilatorul JIT compilează codul secundar al acelei metode în codul mașinii, compilându-l „exact la timp” pentru a rula.

Colector de gunoi: După cum explică și numele Colector de gunoi înseamnă a colecta materialul neutilizat. Ei bine, în JVM această lucrare este realizată de colectarea gunoiului. Urmărește fiecare obiect disponibil în spațiul de heap JVM și elimină pe cele nedorite.
Colectorul de gunoi funcționează în doi pași simpli cunoscuți sub numele de Mark și Sweep:

  • Mark - este locul unde colectorul de gunoi identifică ce bucată de memorie este în uz și care nu
  • Mătură - elimină obiectele identificate în timpul fazei de „marcare”.

Java Runtime Environment:

Software-ul JRE creează un mediu de execuție în care pot fi executate programe Java. JRE este sistemul de pe disc care preia codul Java, îl combină cu bibliotecile necesare și pornește JVM pentru al executa. JRE conține biblioteci și software necesare pentru a rula programele dvs. Java. JRE face parte din JDK (pe care îl vom studia mai târziu), dar poate fi descărcat separat.

Kitul de dezvoltare Java:

Java Development Kit (JDK) este un mediu de dezvoltare software folosit pentru a dezvolta aplicații și applet-uri Java. Conține JRE și mai multe instrumente de dezvoltare, un interpret / încărcător (java), un compilator (javac), un arhivator (jar), un generator de documentație (javadoc) însoțit de un alt instrument.

Zona albastră prezentată în diagramă este JDK. Acum, permiteți-mi să elaborez instrumentele de dezvoltare pentru voi toți.

java : este lansatorul pentru toate aplicațiile java.
javac : compatibil cu limbajele de programare java.
javadoc : este generatorul de documentație API.
borcan : creează și gestionează toate fișierele JAR.

Mergând mai departe cu arhitectura Java, să ne înțelegem modul în care platforma Java este independentă?

Cum este platforma Java independentă?

Când se numește un limbaj de programare independent de platformă? Ei bine, dacă și numai dacă poate rula pe toate sistemele de operare disponibile în ceea ce privește dezvoltarea și compilarea sa.
Acum, Java este independent de platformă doar din cauza bytecode-ului. Permiteți-mi să vă spun ce este exact un bytecode? In termeni simpli,
Bytecode este un cod al JVM care este ușor de înțeles de mașină.
Executarea codurilor bytec în Java demonstrează că este un limbaj independent de platformă.
Aici, vă voi arăta pașii implicați în procesul de execuție a unui bytecode java.

Mai jos este explicația pașilor implicați:

sample.java → javac (sample. class) → JVM (sample.obj) → ieșire finală

Primul cod sursă este utilizat de compilatorul java și este convertit în fișier .class. Codul fișierului de clasă este sub formă de cod de octeți și acel fișier de clasă este utilizat de JVM pentru a converti într-un fișier obiect. După aceea, puteți vedea rezultatul final pe ecran.

Continuând în articolul de arhitectură Java, să înțelegem conceptul de JIT în Java .

JIT în Java

Compilatorul Just In Time cunoscut în mod obișnuit sub numele de JIT, este în principal responsabil pentru optimizarea performanței aplicațiilor bazate pe Java în timpul rulării. Performanța unei aplicații depinde de un compilator.
Iată o diagramă simplă care vă arată procesul intern care se desfășoară.

Compilator JIT - Arhitectură Java - Edureka

Compilatorul JIT compilează codul de octeți al metodei în codul mașinii, compilându-l „Just In Time” pentru a rula. Când este compilată o metodă, JVM apelează direct codul compilat al acelei metode.
Să ne scufundăm mai adânc:
Codul de octeți trebuie interpretat sau compilat conform instrucțiunilor corespunzătoare ale mașinii, în funcție de setul de instrucțiuni furnizat. De asemenea, acestea pot fi executate direct dacă arhitectura de instrucțiuni este bazată pe cod de octeți. Interpretarea codului de octeți afectează viteza de execuție.
Pentru a îmbunătăți performanța, compilatoarele JIT interacționează cu mașina virtuală Java (JVM) în timpul rulării și compilează secvențe de bytecode adecvate în codul mașinii native (așa cum se arată în diagramă). În timp ce folosește un compilator JIT, hardware-ul este capabil să execute codul nativ, în comparație cu faptul că JVM interpretează în mod repetat aceeași secvență de bytecode și suportă cheltuieli generale pentru procesul de traducere.

Cu aceasta, am ajuns la sfârșitul acestui articol despre Arhitectura Java. Sper că subiectele discutate mai sus au adăugat valoare cunoștințelor dvs. Java. Rămâneți la curent pentru mai multe articole!

Acum că ați înțeles elementele de bază ale Java, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

java diferența dintre aruncări și aruncări

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „Arhitectura Java și componentele sale” și vă vom contacta cât mai curând posibil.