Предности и недостаци Јава виртуелних машина

Јава виртуелна машина (ЈВМ) је окружење које извршава Јава програме. Јава програми се компајлирају у средњи језик који се зове бајткод, а то је оно што ЈВМ извршава. Било који програм компајлиран у бајткод може се извршити на било којој платформи на којој је инсталиран ЈВМ. Ово чини Јава софтвер компатибилним са многим различитим рачунарским платформама. ЈВМ има неколико значајних предности и недостатака које сваки програмер треба пажљиво да одмери пре него што инвестира у развој Јаве.

Независност од платформе

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

Видео дана

Безбедност

Јава је написана са сигурношћу на уму. Јава виртуелна машина има уграђене безбедносне функције које омогућавају програмерима да пишу веома безбедне Јава програме. Такође спречава злонамерни софтвер да компромитује оперативни систем (ОС) јер спречава Јава апликације у интеракцији са ресурсима оперативног система.

Перформансе

Јава програми који се покрећу на Јава виртуелној машини имају тенденцију да раде спорије од еквивалентних програма написаних на Ц++. Системска неутралност бајткода делује као недостатак када су перформансе у питању. То је зато што се оптимизација кода у великој мери ослања на карактеристике специфичне за систем. Пошто је Јава бајт код системски неутралан, не може се оптимизовати за одређени хардверски скуп.

Исправност

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