Које су компоненте Јава архитектуре?



Јава архитектура комбинује процес компилације и интерпретације. У овом чланку ћу вам рећи о разним компонентама Јава архитектуре

Јава архитектура комбинује процес компилације и интерпретације. Објашњава различите процесе који су укључени током формулисања а . Пре него што започнем са темом, упознаћу вас са дневним редом овог чланка.

Испод наведених смерница биће теме за дискусију:





Почнимо са разумевањем шта је заправо Јава архитектура?



Шта је Јава архитектура?

Овде ћу вам објаснити јава архитектуру у једноставним корацима.

  • У Јави постоји процес компилације и интерпретације.
  • Код написан на , претвара се у бајт кодове, што чини Јава Цомпилер.
  • Бајт кодове ЈВМ затим претвара у машински код.
  • Машински код извршава директно машина.

Овај дијаграм илуструје унутрашњи рад Јава кода, или тачније, Јава Арцхитецтуре!



ЈВМ - Јава архитектура - ЕдурекаХајде сада да мало дубље истражимо јава архитектуру и разговарамо о разним .

Компоненте Јава архитектуре

Постоје три главне компоненте Јава језика: ЈВМ, ЈРЕ и ЈДК .

Јава виртуелна машина, Јава Рунтиме Енвиронмент и Јава Девелопмент Кит.

Дозволите ми да разрадим сваки од њих један по један:

Јава виртуелна машина:

Да ли сте икада чули за ВОРА? (Напиши једном Рун Анивхере). Па, Јава апликације се називају ВОРА због њихове способности покретања кода на било којој платформи. То се ради само због ЈВМ-а. ЈВМ је компонента Јава платформе која пружа окружење за извршавање Јава програма. ЈВМ интерпретира бајт код у машински код који се извршава у машини у којој се покреће Јава програм.

Дакле, укратко, ЈВМ обавља следеће функције:

  • Учитава код
  • Верификује код
  • Извршава код
  • Обезбеђује рунтиме окружење

Сада ћу вам показати ЈВМ архитектуру. Ево га!

Објашњење:

Цласс Лоадер : Учитавач класе је подсистем ЈВМ-а. Користи се за учитавање датотека класе. Кад год покренемо јава програм, учитавач класа га прво учита.

Подручје методе класе : То је једно од Подручја података у ЈВМ-у, у којем ће се чувати подаци класе. Статичке променљиве, статички блокови, статичке методе, методе инстанце се чувају у овом подручју.

Гомила : Гомила се креира када се ЈВМ покрене. Може се повећати или смањити у величини док се апликација изводи.

која је разлика између јавасцрипта и јкуери-а

Гомила : ЈВМ стог познат је као конац нити. То је област података у ЈВМ меморији која је креирана за једну нит извршења. ЈВМ стек нити користи нит за чување различитих елемената, тј. Локалних променљивих, делимичних резултата и података за метод позивања и повратке.

Нативе стацк : Сумира све изворне методе коришћене у вашој апликацији.

Екецутион Енгине:

  • Јит цомпилер
  • Ђубретар

ЈИТ компајлер: Тхе Преводитељ Јуст-Ин-Тиме (ЈИТ) је део рунтиме окружења. Помаже у побољшању перформанси Јава апликација компајлирањем бајт кодова у машински код у време извођења. ЈИТ компајлер је подразумевано омогућен. Када се метода компајлира, ЈВМ директно позива компајлирани код те методе. ЈИТ компајлер компајлира бајт код те методе у машински код, састављајући га „тачно на време“ за покретање.

Ђубретар: Као што то име објашњава Ђубретар средства за прикупљање неискоришћеног материјала. Па, у ЈВМ-у овај посао обавља прикупљање смећа. Прати сваки објект доступан у ЈВМ простору гомиле и уклања нежељене.
Сакупљач смећа ради у два једноставна корака позната као Марк и Свееп:

  • Означи - ту сакупљач смећа идентификује који део меморије се користи, а који не
  • Почисти - уклања предмете идентификоване током фазе „обележавања“.

Јава Рунтиме Енвиронмент:

Софтвер ЈРЕ гради рунтиме окружење у којем се могу извршавати Јава програми. ЈРЕ је систем на диску који узима ваш Јава код, комбинује га са потребним библиотекама и покреће ЈВМ да га изврши. ЈРЕ садржи библиотеке и софтвер који су потребни вашим Јава програмима за покретање. ЈРЕ је део ЈДК-а (који ћемо проучити касније), али се може преузети засебно.

Јава Девелопмент Кит:

Јава Девелопмент Кит (ЈДК) је окружење за развој софтвера које се користи за развој Јава апликација и аплета. Садржи ЈРЕ и неколико развојних алата, тумач / учитавач (јава), компајлер (јавац), архив (јар), генератор документације (јавадоц) у пратњи другог алата.

Плаво подручје приказано на дијаграму је ЈДК. Сада, дозволите ми да свима вама разрадим развојне алате.

јава : то је покретач за све Јава апликације.
јавац : састављач Јава програмских језика.
јавадоц : то је генератор АПИ документације.
тегла : креира и управља свим ЈАР датотекама.

Напредујући са Јава архитектуром, хајде да схватимо како је Јава платформа независна?

Како је Јава платформа независна?

Када се било који програмски језик назива независним од платформе? Па, ако и само ако може да ради на свим доступним оперативним системима с обзиром на његов развој и компилацију.
Сада, Јава је независан од платформе само због бајт-кода. Да вам кажем шта је тачно бајт код? Поједностављено речено,
Битецоде је код ЈВМ-а који је машински разумљив.
Извршење бајткода у Јави доказује да је језик независан од платформе.
Овде ћу вам показати кораке који су укључени у процес извршавања Јава бајт кода.

Испод је објашњење корака:

сампле.јава → јавац (сампле. цласс) → ЈВМ (сампле.обј) → финал оутпут

Први изворни код користи Јава компајлер и претвара се у .цласс датотеку. Код датотеке класе је у облику бајт кода и ту датотеку класе користи ЈВМ за претварање у објектну датотеку. Након тога, на екрану можете видети коначни излаз.

Напредујући у чланку о Јава архитектури, хајде да разумемо концепт ЈИТ на Јави .

ЈИТ на Јави

Компајлер Јуст Ин Тиме, познат под називом ЈИТ, у основи је одговоран за оптимизацију перформанси Јава апликација заснованих на времену извођења. Перформансе апликације зависе од компајлера.
Ево једноставног дијаграма који приказује унутрашњи процес који се одвија.

ЈИТ компајлер - Јава архитектура - Едурека

ЈИТ компајлер компајлира бајт код методе у машински код, компајлирајући га „Јуст Ин Тиме“ за покретање. Када се метода компајлира, ЈВМ директно позива компајлирани код те методе.
Заронимо дубље:
Бајт код мора бити протумачен или компајлиран у одговарајуће машинске инструкције у зависности од приложеног скупа инструкција. Такође, они се могу директно извршити ако је архитектура инструкција заснована на бајт коду. Тумачење бајт кода утиче на брзину извршења.
Да би побољшали перформансе, ЈИТ компајлери комуницирају са Јава виртуелном машином (ЈВМ) током извођења и компајлирају одговарајуће секвенце бајт кодова у изворни машински код (као што је приказано на дијаграму). Док користи ЈИТ компајлер, хардвер је у стању да изврши изворни код, у поређењу са тим да ЈВМ опетовано тумачи исту секвенцу бајт-кода и ствара додатне трошкове за процес превођења.

Овим сам стигао до краја овог чланка о Јава архитектури. Надам се да су горенаведене теме додале вредност вашем знању о Јави. Пратите још чланака!

Сада када сте разумели основе Јаве, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога „Јава Архитектура и њене компоненте“ и јавићемо вам се што је пре могуће.