ЈВМ вс ЈРЕ
Јава је програмски језик високог нивоа који је јединствен по начину на који се програми написани на њему могу изводити на готово било којој платформи. Али пре него што покренете програм на рачунару, морате да инсталирате одређени софтвер; неки га називају ЈВМ, док други користе ЈРЕ. Иако се већина људи односи на исту ствар, постоје одређене разлике између ЈВМ и ЈРЕ. ЈВМ је заправо апликација која је дио ЈРЕ. Да бисте покренули апликацију, потребан вам је ЈРЕ, који садржи ЈВМ.
ЈВМ означава Јава Виртуал Мацхине и ствара виртуелни рачунар који разуме код на који су написани Јава програми. Јава програми нису написани на специфичан начин за ОС. То му пружа могућност покретања на било којој платформи, али захтева употребу ЈВМ-а за превођење команди из Јава бајт-кода у одређени машински код.
Није све потребно у свим програмима садржано у ЈВМ. Неке се налазе у такозваним пакетима класе. Пакети попут АВТ, Свинг, ланг и многи други пружају сложеније могућности ЈВМ-у. Када комбинујете све те датотеке подршке са ЈВМ-ом, то се зове ЈРЕ или Јава Рунтиме Енвиронмент. Најједноставније речено, ЈРЕ је комбинација ЈВМ-а и многих пратећих датотека попут пакета који пружају окружење из којег се може покретати Јава програм.
Будући да крајњи корисник вјероватно неће уређивати или креирати Јава апликације, ЈРЕ не садржи ниједну датотеку која се односи на кодирање, провјеру и уклањање погрешака Јава апликација; све што се налази у другом Јава софтверском пакету. Ово минимизира величину ЈРЕ-а како би се олакшало и брже за већину корисника преузимање и инсталирање ЈРЕ-а. Свака софтверска платформа (тј. Виндовс, Линук, Мац) има своје ЈРЕ и ЈВМ који би радили само на њој и ни у ком другом. Стога бисте требали имати на уму да преузмете одређени ЈРЕ за ОС који имате. Свака ЈРЕ верзија увек би садржавала свој комплементарни ЈВМ тако да нема сумње у добијање погрешног ЈВМ-а.
Резиме:
1.ЈВМ је само један део ЈРЕ
2.ЈРЕ садржи класе Јава пакета осим ЈВМ-а