Шта бисте требали знати о Јава виртуелној машини?



Овај блог ће детаљно покрити концепт јава виртуелне машине са компонентама његове архитектуре и кључним разликама између ЈВМ, ЈРЕ и ЈДК

језик је веома дуго гигант у ИТ индустрији. Има неке врхунске концепте који га чине бољим од остатка програмског језика. Један такав концепт је Јава виртуелна машина, у овом чланку ћемо научити о различитим аспектима детаљно виртуелна машина. Следе теме о којима се расправља на овом блогу:

Шта је Јава виртуелна машина?

Јава виртуелна машина је апстрактна машина независна од платформе која пружа рунтиме окружење у којем се извршава Јава бајт код.





То је део Јава рунтиме окружења које Јава бајт код претвара у машински читљив језик. Главни које имамо у Јава програму заправо зове Јава виртуелна машина.

јвм - јава виртуелна машина - едурека

Зашто нам треба Јава виртуелна машина?

Јава виртуелна машина нам је потребна за задатке које обавља, а који су изузетно неопходни за било који развој који укључује Јаву. Следи неколико задатака које обавља Јава виртуелна машина.



  • Учитава код
  • Верификација кода
  • Извршење кода
  • Обезбеђује радно окружење за апликације
  • Подручје меморије
  • Регистар постављен
  • Пружа гомилу сакупљања смећа
  • Пријављивање фаталних грешака
  • Пружа а класа Формат датотеке

Уз све ове операције, Јава виртуелна машина је саставни део Јава развоја. Покушајмо да схватимо како то функционише уз помоћ архитектуре Јава виртуелне машине.

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

Архитектура Јава виртуелне машине је прилично једноставна, међу осталим компонентама има меморијско подручје, учитавач класе и извршни механизам. размотримо детаљно сваку од њих.

ЦлассЛоадер

То је подсистем који се користи за учитавање датотека класе. Кад год покренемо програм у јави, прво га учита ЦлассЛоадер. главна функција укључује иницијализацију, повезивање и учитавање. Следе уграђени учитавачи класа у Јави.



    • Боотстрап ЦлассЛоадер - Супер класа Ектенсион ЦлассЛоадер учитава рт.јар датотеку.

    • Продужење ЦлассЛоадер - Учитава јар датотеке које се налазе у директоријуму.

    • Систем / апликација ЦлассЛоадер - учитава датотеке предавања из путање предавања.

    • Операција утовара - Прво цлассЛоадер учитава .цласс датотеке и генерише одговарајуће податке у бинарном формату који се чува у подручју методе.

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

    • Иницијализација - Све статичке променљиве су додељене са њиховим вредностима дефинисаним у блоку кода у овој фази.

ЈВМ меморија

  • Област методе - Похрањује структуре за сваку класу попут кода, података поља, спремишта константе времена извођења, података методе итд.

  • Гомила - Објекти се додељују током извођења у гомили.

    пренос датотека у инстанцу ец2 виндовс
  • ЈВМ Лангуаге Стацкс - Похрањује локалне променљиве и резултате. Игра важну улогу у позивању и враћању резултата. Кад год се метода позове, оквир се креира и уништава чим се позив заврши или доврши.

  • ПЦ Регистри - Има адресу или локацију ЈВМинструкције која се извршава.

  • Нативе Метход Стацкс - Све изворне методе коришћене у апликацијама присутне су у матичним стековима метода.

  • Екецутион Енгине - Извршни механизам садржи виртуелни процесор, тумач и а ЈИТ компајлер.

  • Нативе Метход Приступ - То је која пружа.

Сад кад смо разумели архитектуру ЈВМ-а, погледајмо процес извршења и компилацију кода.

Процес извршења

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

  • Главна метода се чува у једној датотеци, а остале методе се чувају у различитим датотекама.
  • Након компилације, обезбедиће одговарајуће .цласс датотеке које ће имати бајт код без икаквог повезивања, за разлику од Ц.
  • Током извршавања, датотеке класе се верификују за било каква кршења помоћу Цласслоадер-а.
  • Након тога, бајт код се претвара у одговарајући изворни машински код. То је такође разлог зашто је Јава релативно спорија.

Сад кад знамо како функционише извршење, погледајмо разлику између ЈДК, ЈРЕ и ЈВМ.

Разлика између ЈДК, ЈРЕ и ЈВМ

Следи неколико важних разлика између ЈДК , ЈВМ и ЈРЕ.

  1. ЈДК је кратица за Јава развојни комплет, а ЈРЕ скраћеница за Јава рунтиме окружење.
  2. ЈДК је за развој, док је ЈРЕ за време извођења.
  3. ЈВМ је важан део ЈДК-а и ЈРЕ-а за покретање било ког Јава програма.
  4. ЈВМ је саставни део Јава програмирања и пружа независност од платформе.

Ово нас доводи до краја овог чланка где смо детаљно сазнали о Јава виртуелној машини. Надам се да вам је јасно све што је са вама подељено у овом упутству.

Ако вам је овај чланак о „Јава виртуелној машини“ релевантан, погледајте Едуреку , поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света.

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

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