Ano ang mga bahagi ng Java Architecture?



Pinagsasama ng Arkitektura ng Java ang proseso ng pagtitipon at interpretasyon. Sa artikulong ito, sasabihin ko sa iyo ang tungkol sa iba't ibang mga bahagi ng Java Architecture

Pinagsasama ng Arkitektura ng Java ang proseso ng pagtitipon at interpretasyon. Ipinapaliwanag nito ang iba`t ibang mga proseso na kasangkot habang bumubuo ng a . Bago ako magsimula sa paksa hayaan mo akong ipakilala sa iyo ang agenda para sa artikulong ito.

Ang mga nabanggit na tagubilin ay ang aming mga paksa ng talakayan:





Magsimula tayo sa pamamagitan ng pag-unawa kung ano talaga ang Java Architecture?



Ano ang Java Architecture?

Dito, ipapaliwanag ko sa iyo ang arkitekturang java sa mga simpleng hakbang.

  • Sa Java, mayroong isang proseso ng pagtitipon at interpretasyon.
  • Ang code na nakasulat sa , ay na-convert sa mga byte code na ginagawa ng Java Compiler.
  • Ang mga byte code, pagkatapos ay mai-convert sa machine code ng JVM.
  • Ang machine code ay naisakatuparan nang direkta ng makina.

Ang diagram na ito ay naglalarawan ng panloob na pagtatrabaho ng isang Java code, o tiyak na, Java Architecture!

c ++ gumamit ng namespace



JVM - Arkitektura ng Java - EdurekaNgayon, maghukay tayo ng kaunting mas malalim sa arkitektura ng java at pag-usapan ang iba't ibang .

Mga Bahagi ng Arkitektura ng Java

Mayroong tatlong pangunahing mga bahagi ng wika ng Java: JVM, JRE, at JDK .

Java Virtual Machine, Java Runtime Environment at Java Development Kit ayon sa pagkakabanggit.

Hayaan mong idetalye ko ang bawat isa sa kanila isa-isa:

Java Virtual Machine:

Narinig mo na ba ang tungkol sa WORA? (Sumulat nang isang beses Patakbuhin Kahit saan). Sa gayon, ang mga aplikasyon ng Java ay tinatawag na WORA dahil sa kanilang kakayahang magpatakbo ng isang code sa anumang platform. Ginagawa lamang ito dahil sa JVM. Ang JVM ay isang bahagi ng Java platform na nagbibigay ng isang kapaligiran para sa pagpapatupad ng mga programa ng Java. Ang JVM ay binibigyang kahulugan ang bytecode sa machine code na kung saan ay naisagawa sa makina kung saan tumatakbo ang programa ng Java.

Kaya, sa madaling sabi, ginaganap ng JVM ang mga sumusunod na pag-andar:

  • Load ang code
  • Pinapatunayan ang code
  • Isinasagawa ang code
  • Nagbibigay ng kapaligiran sa runtime

Ngayon, hayaan mong ipakita ko sa iyo ang arkitekturang JVM. Narito na!

Paliwanag:

Class Loader : Ang class loader ay isang subsystem ng JVM. Ginagamit ito upang mai-load ang mga file ng klase. Tuwing pinapatakbo namin ang programang java, kinakarga muna ito ng loader ng klase.

Lugar ng paraan ng klase : Ito ay isa sa Data Area sa JVM, kung saan itatago ang data ng Class. Mga Static Variable, Static Blocks, Static Methods, Instance Methods ay nakaimbak sa lugar na ito.

Tambak : Ang isang tambak ay nilikha kapag nagsimula ang JVM. Maaari itong dagdagan o bawasan ang laki habang tumatakbo ang application.

may isang vs ay isang java

Stack : Ang JVM stack ay kilala bilang isang thread stack. Ito ay isang lugar ng data sa memorya ng JVM na nilikha para sa isang solong thread ng pagpapatupad. Ang JVM stack ng isang thread ay ginagamit ng thread upang mag-imbak ng iba't ibang mga elemento ibig sabihin mga lokal na variable, bahagyang resulta, at data para sa pamamaraan ng pagtawag at pagbabalik.

Katutubong stack : Ina-subsume nito ang lahat ng mga katutubong pamamaraan na ginamit sa iyong aplikasyon.

Engine ng Pagpapatupad:

  • JIT tagatala
  • Basurero

JIT tagatala: Ang Just-In-Time (JIT) tagatala ay isang bahagi ng runtime environment. Nakakatulong ito sa pagpapabuti ng pagganap ng mga aplikasyon ng Java sa pamamagitan ng pag-iipon ng mga bytecode sa machine code sa oras ng pagpapatakbo. Ang JIT compiler ay pinagana sa pamamagitan ng default. Kapag naipon ang isang pamamaraan, direktang tawagan ng JVM ang naipong code ng pamamaraang iyon. Ang JIT compiler ay pinagsasama-sama ang bytecode ng pamamaraang iyon sa machine code, pinagsasama ito 'sa tamang oras' upang tumakbo.

Basurero: Tulad ng ipinapaliwanag ng pangalan na Basurero nangangahulugang kolektahin ang hindi nagamit na materyal. Kaya, sa JVM ang gawaing ito ay ginagawa ng koleksyon ng Basura. Sinusubaybayan nito ang bawat isa at bawat bagay na magagamit sa JVM heap space at inaalis ang mga hindi nais.
Gumagawa ang kolektor ng basura sa dalawang simpleng hakbang na kilala bilang Mark at Sweep:

  • Mark - dito kinikilala ng tagatipon ng basura kung aling piraso ng memorya ang ginagamit at alin ang hindi
  • Pagwawalis - tinatanggal nito ang mga bagay na nakilala sa yugto ng 'mark'.

Kapaligiran sa Runtime ng Java:

Ang JRE software ay bumubuo ng isang kapaligiran sa runtime kung saan maaaring maisagawa ang mga programa ng Java. Ang JRE ay ang on-disk system na kumukuha ng iyong Java code, pinagsasama ito sa mga kinakailangang aklatan, at sinisimulan ang JVM upang maisagawa ito. Naglalaman ang JRE ng mga aklatan at software na kinakailangan ng iyong mga programang Java upang mapatakbo. Ang JRE ay isang bahagi ng JDK (na pag-aaralan namin sa paglaon) ngunit maaaring mai-download nang magkahiwalay.

Java Development Kit:

Ang Java Development Kit (JDK) ay isang software development environment na ginamit upang paunlarin ang mga Java application at applet. Naglalaman ito ng JRE at maraming mga tool sa pag-unlad, isang interpreter / loader (java), isang tagatala (javac), isang archiver (jar), isang generator ng dokumentasyon (javadoc) na sinamahan ng isa pang tool.

Ang asul na lugar na ipinapakita sa diagram ay JDK. Ngayon, hayaan mo akong idetalye ang mga tool sa pag-unlad sa inyong lahat.

java : ito ang launcher para sa lahat ng mga aplikasyon ng java.
javac : sumusunod sa mga wika ng pag-program ng java.
javadoc : ito ang tagabuo ng dokumentasyon ng API.
garapon : Lumilikha at namamahala sa lahat ng mga JAR file.

Sumusulong sa arkitektura ng Java, ipaunawa sa amin kung paano malaya ang platform ng Java?

Paano malaya ang platform ng Java?

Kailan tinawag ang anumang wika ng programa bilang malaya sa platform? Sa gayon, kung at kung maaari lamang itong tumakbo sa lahat ng magagamit na mga operating system na patungkol sa pag-unlad at pagtitipon nito.
Ngayon, Java ay independiyenteng platform dahil lamang sa bytecode. Hayaan mong sabihin ko sa iyo kung ano ang eksaktong bytecode? Sa simpleng term,
Ang Bytecode ay isang code ng JVM na nauunawaan ng makina.
Ang pagpapatupad ng Bytecode sa Java ay nagpapatunay na ito ay isang wikang malaya sa platform.
Dito, ipapakita ko sa iyo ang mga hakbang na kasangkot sa proseso ng pagpapatupad ng bytecode ng java.

Nasa ibaba ang paliwanag ng mga hakbang na kasangkot:

sample.java → javac (sample. klase) → JVM (sample.obj) → huling output

Ang unang source code ay ginagamit ng java compiler at na-convert sa .class file. Ang class file code ay nasa byte code form at ang class file na iyon ay ginagamit ng JVM upang mag-convert sa isang object file. Pagkatapos nito, maaari mong makita ang pangwakas na output sa iyong screen.

kung paano wakasan ang program java

Pagpapatuloy sa artikulo ng arkitektura ng Java, ipaunawa sa amin ang konsepto ng JIT sa Java .

JIT sa Java

Sa tagatala lamang ng Oras na karaniwang kilala bilang JIT, karaniwang responsable para sa pag-optimize ng pagganap ng mga application na nakabatay sa java sa oras ng pagpapatakbo. Ang pagganap ng isang application ay nakasalalay sa isang tagatala.
Narito ang isang simpleng diagram na nagpapakita sa iyo ng nangyayari sa panloob na proseso.

JIT Compiler - Arkitektura ng Java - Edureka

Ang JIT compiler ay nag-iipon ng byte code ng pamamaraan sa machine code, na pinagsasama ito 'Just In Time' upang tumakbo. Kapag naipon ang isang pamamaraan, direktang tawagan ng JVM ang naipong code ng pamamaraang iyon.
Sumisid tayo nang mas malalim:
Ang byte code ay dapat na bigyang kahulugan o naipon sa tamang mga tagubilin sa makina depende sa ibinigay na itinakdang tagubilin. Gayundin, maaari itong direktang maipatupad kung ang pagtuturo ng arkitektura ay batay sa byte code. Ang pagbibigay kahulugan sa byte code ay nakakaapekto sa bilis ng pagpapatupad.
Upang mapagbuti ang pagganap, nakikipag-ugnay ang mga JIT compiler sa Java Virtual Machine (JVM) sa oras ng pagpapatakbo at pinagsama ang angkop na mga pagkakasunud-sunod ng bytecode sa katutubong code ng makina (tulad ng ipinakita sa diagram). Habang gumagamit ng isang JIT compiler, ang hardware ay nakapagpatupad ng katutubong code, kumpara sa pagkakaroon ng JVM na binibigyang kahulugan ang parehong pagkakasunud-sunod ng bytecode nang paulit-ulit at sumasabay sa overhead para sa proseso ng pagsasalin.

Sa pamamagitan nito, naabot ko ang pagtatapos ng artikulong ito sa Java Architecture. Inaasahan kong ang mga paksang tinalakay sa itaas ay nagdagdag ng halaga sa iyong kaalaman sa Java. Manatiling nakatutok para sa higit pang mga artikulo!

Ngayon na naintindihan mo ang mga pangunahing kaalaman sa Java, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'Java Architecture at mga bahagi nito' at babalikan ka namin sa lalong madaling panahon.