JDK срещу JRE срещу JVM в Java – Разлика между тях
Ключова разлика между JDK, JRE и JVM
- JDK е комплект за разработка на софтуер, докато JRE е софтуерен пакет, който позволява Java програма за изпълнение, докато JVM е среда за изпълнение на байт код.
- Пълната форма на JDK е Java Комплект за разработка, докато пълната форма на JRE е Java Runtime Environment, докато пълната форма на JVM е Java Виртуална машина.
- JDK и JRE са зависими от платформата, докато JVM е независима от платформата на ниво байт код, но зависи от специфични за платформата реализации.
- JDK съдържа инструменти за разработка, отстраняване на грешки и т.н. JRE съдържа библиотеки с класове и други поддържащи файлове, докато инструментите за разработка на софтуер не са включени в JVM.
- JDK идва с инсталатора, от друга страна, JRE съдържа само средата за изпълнение на изходния код, докато JVM е включен в софтуера JDK и JRE.
Какво е JDK?
JDK е среда за разработка на софтуер, използвана за създаване на аплети и Java приложения. Пълната форма на JDK е Java Комплект за разработка. Java разработчиците могат да го използват на Windows, macOS, Solarisи Linux. JDK им помага да кодират и изпълняват Java програми. Възможно е да инсталирате повече от една JDK версия на един и същи компютър.
Какво е JRE?
JRE е част от софтуер, който е предназначен да изпълнява друг софтуер. Той съдържа библиотеки с класове, клас за зареждане и JVM. С прости думи, ако искате да бягате Java програма, от която се нуждаете JRE. Ако не сте програмист, не е нужно инсталирайте JDK, но само JRE за стартиране Java програми. Въпреки това, всички JDK версии идват в комплект с Java Runtime Environment, така че не е необходимо да изтегляте и инсталирате JRE отделно на вашия компютър. Пълната форма на JRE е Java Среда за изпълнение.
Какво е JVM?
JVM е двигател, който предоставя среда за изпълнение за управление на Java Код или приложения. Преобразува Java байт код в машинен език. JVM е част от Java Работна среда (JRE). Не може да бъде изтеглен и инсталиран отделно. За да инсталирате JVM, трябва да инсталирате JRE. Пълната форма на JVM е Java Виртуална машина.
В много други езици за програмиране компилаторът произвежда машинен код за конкретна система. обаче Java компилаторът създава код за виртуална машина, която се нарича JVM.
Защо да използвате JDK?
Ето важните причини да използвате JDK:
- JDK съдържа инструменти, необходими за писане Java програми и JRE за тяхното изпълнение.
- Той включва компилатор, Java програма за стартиране на приложения, Appletviewer и др.
- Компилаторът преобразува кода, написан в Java в байт код.
- Java инструментът за стартиране на приложения отваря JRE, зарежда необходимия клас и изпълнява главния му метод.
Защо да използвате JRE?
Ето важните причини за използването на JRE:
- JRE съдържа библиотеки с класове, JVM и други поддържащи файлове. Не съдържа никакъв инструмент за Java разработка като дебъгер, компилатор и др.
- Той използва важни пакетни класове като math, swingetc, util, lang, awt и runtime библиотеки.
- Ако трябва да бягате Java аплети, тогава JRE трябва да бъде инсталиран във вашата система.
Защо JVM?
Ето важните причини за използването на JVM:
- JVM предоставя независим от платформата начин за изпълнение Java изходен код.
- Има множество библиотеки, инструменти и рамки.
- След като бягате Java програма, можете да стартирате на всяка платформа и да спестите много време.
- JVM идва с JIT (Just-in-Time) компилатор, който преобразува Java изходния код на машинен език от ниско ниво. Следователно, той работи по-бързо като обикновено приложение.
Характеристики на JDK
Ето важните характеристики на JDK:
- Позволява ви да управлявате множество разширения в един catch блок.
- JDK включва всички функции, които има JRE.
- Той съдържа инструменти за разработка като компилатор, програма за отстраняване на грешки и др.
- JDK предоставя среда за разработване и изпълнение Java изходен код.
- Може да се инсталира на Windows, Unix и Mac операционни системи.
- Операторът Diamond може да се използва при указване на интерфейс от общ тип, вместо да се напише точният.
Характеристики на JRE
Ето важните характеристики на JRE:
- Java Runtime Environment е набор от инструменти, чрез които реално работи JVM.
- JRE съдържа технология за внедряване, включително Java Web Start и Java Приставка.
- Разработчиците могат лесно да стартират изходния код в JRE, но той/тя не може да напише и компилира Java програма.
- Той включва интеграционни библиотеки като Java Свързване на база данни (JDBC), Извикване на отдалечен метод (RMI), Java Интерфейс за именуване и директория (JNDI) и др.
- JRE има JVM и Java HotSpot клиент за виртуална машина.
Характеристики на JVM
Ето важните характеристики на JVM:
- Позволява ви да стартирате приложения в облачна среда или във вашето устройство.
- Java Виртуалната машина преобразува байтовия код в специфичния за машината код.
- Той предоставя основни функции на Java като управление на паметта, сигурност, събиране на боклук и др.
- JVM изпълнява програмата, като използва библиотеки и файлове, предоставени от Java Среда за изпълнение.
- JDK и JRE съдържат Java Виртуална машина.
- Той може да изпълнява програмата на Java ред по ред, поради което се нарича още интерпретатор.
- JVM може лесно да се персонализира, например можете да разпределите минимална и максимална памет за него.
- Той е независим от хардуера и операционната система. Така че можете да напишете java програма веднъж и да я стартирате навсякъде.
Как функционира JDK?
Ето важните компоненти на JDK:
- JDK и JRE: JDK позволява на програмистите да създават ядро Java програми, които могат да се изпълняват от JRE, което включва JVM и библиотеки с класове.
- Библиотеки на класове: Това е група от динамично зареждащи се библиотеки, които Java програмата може да се обажда по време на изпълнение.
- Компилатори: Тя е Java програма, която приема текстов файл на разработчиците и го компилира Java клас файл. Това е общата форма на изход, дадена от компилатора, която съдържа Java байт код. в Java, основният компилатор е Javac.
- Дебъгери: Дебъгерът е a Java програма, която позволява на разработчиците да тестват и отстраняват грешки Java програми.
- JavaДок: JavaDoc е документация, направена от Sun Microsystems за Java. JavaDoc може да се използва за генериране на API документация в HTML файл от изходната програма
Как функционира JRE?
JRE има екземпляр на JVM с него, библиотечни класове и инструменти за разработка. След като пишете и компилирате Java код, компилаторът генерира клас файл с байт код.
Ето важните компоненти на JRE:
- Зареждащи класове: Програмата за зареждане на класове зарежда различни класове, които са необходими за изпълнение на a Java програма. JVM използва три зареждащи класа, наречени зареждащ клас за зареждане, зареждащ клас за разширения и зареждащ системен клас.
- Проверка на байт код: Проверката на байт код проверява байт кода, така че кодът да не пречи на интерпретатора.
- преводач: След като класовете се заредят и кодът бъде проверен, интерпретаторът чете кода ред по ред.
- Време на изпълнение: Времето за изпълнение е система, използвана главно в програмирането, за да опише период от време, през който се изпълнява определена програма.
- Hardware: След като компилирате Java собствен код, той работи на специфична хардуерна платформа.
По този начин Java програмата работи в JRE.
Как функционира JVM?
Ето важните компоненти на JVM:
1) Зареждане на класове
Зареждането на класове е подсистема, използвана за зареждане на файлове на класове. Той изпълнява три основни функции, т.е. Зареждане, свързване и инициализация.
2) Област на метода
JVM Method Area съхранява структура на клас като метаданни, кодът за Java методи и постоянния пул по време на изпълнение.
3) Купчина
Всички обекти, масиви и променливи на екземпляри се съхраняват в купчина. Тази памет се споделя между множество нишки.
4) Езикови стекове на JVM
Java езикови стекове съхраняват локални променливи и техните частични резултати. Всяка нишка има свой собствен JVM езиков стек, създаден едновременно със създаването на нишката. Нов кадър се създава при извикване на метод и се премахва, когато процесът на извикване на метода приключи.
5) PC регистри
PC регистрите съхраняват адреса на Java инструкция за виртуална машина, която се изпълнява в момента. в Java, всяка нишка има свой отделен компютърен регистър.
6) Нативни стекове от методи
Стековете на собствените методи съдържат инструкциите на собствения код, зависещ от собствената библиотека. Той разпределя памет върху естествени купчини или използва всякакъв тип стек.
7) Двигател за изпълнение
Това е вид софтуер, който се използва за тестване на софтуер, хардуер или цели системи. Механизмът за изпълнение на теста никога не носи информация за тествания продукт.
8) Интерфейс на родния метод
Интерфейсът на Native Method е програмна рамка. Позволява Java код, който се изпълнява в JVM за извикване от библиотеки и родни приложения.
9) Библиотеки за собствени методи
Native Libraries е колекция от Native Libraries (C, C++), които са необходими на Изпълнителната машина.
Разлика между JDK, JRE и JVM
Ето основните разлики между JDK срещу JRE срещу JVM:
JDK | JRE | JVM |
---|---|---|
Пълната форма на JDK е Java Комплект за разработка. | Пълната форма на JRE е Java Среда за изпълнение. | Пълната форма на JVM е Java Виртуална машина. |
JDK е комплект за разработка на софтуер за разработване на приложения Java. | Това е софтуерен пакет, който предоставя Java библиотеки от класове с необходимите компоненти за изпълнение Java код. | JVM се изпълнява Java байтов код и осигурява среда за неговото изпълнение. |
JDK зависи от платформата. | JRE също зависи от платформата. | JVM е независима от платформата. |
Той съдържа инструменти за разработване, отстраняване на грешки и наблюдение на Java код. | Той съдържа библиотеки от класове и други поддържащи файлове, които JVM изисква за изпълнение на програмата. | Инструментите за разработка на софтуер не са включени в JVM. |
Това е надмножеството на JRE | Това е подмножеството на JDK. | JVM е подмножество на JRE. |
JDK позволява на разработчиците да създават Java програми, които могат да се изпълняват и изпълняват от JRE и JVM. | JRE е част от Java който създава JVM. | Отговорността е на Java компонент на платформата, който изпълнява изходния код. |
JDK идва с инсталатора. | JRE съдържа само среда за изпълнение на изходния код. | JVM, включен в софтуера JDK и JRE. |