Јава (виртуална машина)

Извор: Wikipedija
Пређи на навигацију Пређи на претрагу

Јава Виртуална Машина (обично скраћено на ЈВМ) је виртуална машина која може извршавати Јава компајлирани бyте код – Јавин бyтецоде. ЈВМ је основна компонента Јава платформе, те имплементација ЈВМ-а на различитим хардвер и софтвер платформама омогућава Јаву да функционише на тим платформама, тј. задовољава један од Јавиних основних циљева да се код пише на једном оперативном систему, а извршава на више ((en)).

Начин извршавања

[уреди | уреди извор]

Програми, да би се извршавали на ЈВМ-у, морају бити компајлирани у стандардни бинарни формат, бyтецоде, гдје је свака .java датотека компајлирана у одговарајућу .class датотеку. Ако програм садржи више .class датотека, оне се могу ставити у један ЈАР датотеку (или Јавину Архиву), што олакшава дистрибуцију тог програма.

Бинарнy бyтецоде се извршава у ЈВМ-у емулацијом ЈВМ-ових инструкција путем интерпретације или примјеном јуст-ин-тиме компајлер (ЈИТ), попут Сун-овог ХотСпот ЈИТ-а.

Јавин бyтецоде је направљен на бази стака (ен. стацк - гомила), тј. ЈВМ-ов интерпретер користи стак-базирану архитектуру при извршавању. За разлику, ЈИТ компајлира бyтцоде у машински код (те је бржи у току извршавања). Свака тхреад има свој стак и програмски рачунар.