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

ЈВМ вс ЈРЕ

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

Шта је ЈВМ?

ЈВМ је врста виртуелне машине коју машине користе да би извршили Јава бајт код. Према подацима компаније Сун Мицросистемс (који су развијали Јаву све док је Орацле није купио однедавно), у свету постоји више од 4 милијарде уређаја са омогућеним ЈВМ. Тачније, Јава Виртуал Мацхине је апстрактна рачунарска машина имплементирана на стандардни хардвер и оперативни систем. Једна од важних функција коју пружа ЈВМ је аутоматизовано руковање изузетком. Типично, збирка стандардних библиотека прати ЈВМ. У ствари, ЈРЕ је пакет који садржи ЈВМ и класе које имплементирају Јава АПИ. ЈВМ је веома важна компонента, која обухвата природу Јава програмског језика „компајлирај једном, покрени било где“. Све док се ЈВМ покреће, ваш Јава код може да ради преко ње, без обзира на платформу која се користи у машини. Због тога се Јава назива цросс-платформски или мулти-платформски језик.

Шта је ЈРЕ?

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

Која је разлика између ЈВМ и ЈРЕ?

Иако се у свакодневној употреби изрази ЈВМ и ЈРЕ користе наизменично, имају своје разлике. ЈВМ је виртуелна машина која ради преко оперативног система, док је ЈРЕ окружење за извршавање. ЈВМ је део ЈРЕ. Спецификације ЈВМ дјелују као веза између имплементације ЈРЕ специфичне за платформу и стандардних Јава библиотека. Стога је ЈВМ ентитет који програмеру пружа апстракцију од унутрашњих детаља имплементације. И одговоран је за тумачење састављеног бајт кода. Међутим, ЈВМ су потребне основне библиотеке и друге пратеће датотеке за извршавање јава бајт кода. Али понекад се ЈРЕ једноставно идентификује као имплементација ЈВМ-а.