В този урок ще научите за JDK, JRE и JVM. Ще научите и основните разлики между тях.
Какво е JVM?
JVM (Java Virtual Machine) е абстрактна машина, която позволява на вашия компютър да изпълнява Java програма.
Когато стартирате програмата Java, Java компилаторът първо компилира вашия код Java в байт код. След това JVM превежда байт кода в естествен машинен код (набор от инструкции, които централният процесор на компютъра изпълнява директно).
Java е език, независим от платформата. Това е така, защото когато пишете Java код, той в крайна сметка е написан за JVM, но не и за вашата физическа машина (компютър). Тъй като JVM изпълнява Java байт кода, който е независим от платформата, Java е независима от платформата.

Ако се интересувате да научите за JVM Architecture, посетете The JVM Architecture Explained.
Какво е JRE?
JRE (Java Runtime Environment) е софтуерен пакет, който предоставя библиотеки на Java клас, Java Virtual Machine (JVM) и други компоненти, необходими за стартиране на Java приложения.
JRE е супермножество на JVM.

Ако трябва да стартирате Java програми, но не и да ги разработвате, JRE е това, от което се нуждаете. Можете да изтеглите JRE от страницата за изтегляне Java SE Runtime Environment 8.
Какво е JDK?
JDK (Java Development Kit) е комплект за разработка на софтуер, необходим за разработване на приложения в Java. Когато изтегляте JDK, JRE също се изтегля с него.
В допълнение към JRE, JDK съдържа и редица инструменти за разработка (компилатори, JavaDoc, Java Debugger и др.).

Ако искате да разработите Java приложения, изтеглете JDK.
Връзка между JVM, JRE и JDK.
