JDK vs JRE vs JVM: Asosiy Farqlari
Tags: jvm, jre, jdk, java
Published: 2022-03-15 06:44:34

**JDK o'zi nima?**
JDK - bu appletalar va Java ilovalarini yaratish uchun foydalaniladigan dasturiy ta'minot, ishlab chiqish muhiti. JDK ning to'liq shakli Java Development Kit hisoblanadi. Java dasturchilari undan Windows, macOS, Solaris va Linuxda foydalanishlari mumkin. JDK ularga Java dasturlarini kodlash va ishga tushirishda yordam beradi. Bitta kompyuterda bir nechta JDK versiyasini o'rnatish mumkin.<u>


**JRE**
JRE - bu boshqa dasturlarni ishga tushirish uchun mo'ljallangan dasturiy ta'minotning bir qismi. Unda class kutubxonalari, yuklovchi classlar va JVM mavjud. Oddiy qilib aytganda, agar siz Java dasturini ishga tushirishni istasangiz, sizga JRE kerak. Agar siz dasturchi bo'lmasangiz, JDK-ni o'rnatishingiz shart emas, Java dasturlarini ishga tushirish uchun faqat JRE. Biroq, barcha JDK versiyalari Java Runtime Environment bilan birga keladi, shuning uchun JREni shaxsiy kompyuteringizga alohida yuklab olishingiz va o'rnatishingiz shart emas. JRE ning to'liq shakli Java Runtime Environment hisoblanadi.


**JVM**
JVM Java kodini yoki ilovalarini boshqarish uchun ish vaqti muhitini ta'minlovchi vositadir. U Java bayt kodini mashina tiliga aylantiradi. JVM Java Run Environment (JRE) ning bir qismidir. Uni alohida yuklab olish va o'rnatish mumkin emas. JVM-ni o'rnatish uchun siz JRE-ni o'rnatishingiz kerak. JVM ning to'liq shakli Java virtual mashinasidir.

Ko'pgina boshqa dasturlash tillarida kompilyator ma'lum bir tizim uchun mashina kodini ishlab chiqaradi. Biroq, Java kompilyatori JVM deb ataladigan virtual mashina uchun kod ishlab chiqaradi.

## Asosiy farqlari
JDK dasturiy ta'minot ishlab chiqish to'plami, JRE esa Java dasturini ishga tushirishga imkon beruvchi dasturiy ta'minot to'plami, JVM esa bayt kodini bajarish uchun muhitdir.
JDK ning to'liq shakli Java Development Kit, JRE ning to'liq shakli Java Runtime Environment, JVM ning to'liq shakli esa Java Virtual Machine.
JDK platformaga bog'liq, JRE ham platformaga bog'liq, ammo JVM platformadan mustaqil emas.
JDK ishlab chiqish, disk raskadrovka va boshqalar uchun asboblarni o'z ichiga oladi. JRE sinf kutubxonalari va boshqa yordamchi fayllarni o'z ichiga oladi, dasturiy ta'minotni ishlab chiqish vositalari esa JVMga kiritilmagan.
JDK o'rnatuvchi bilan birga keladi, boshqa tomondan, JRE faqat manba kodini bajarish uchun muhitni o'z ichiga oladi, JVM esa JDK va JRE dasturlarida to'plangan.


## Xususiyatlari

**JDK xususiyatlari**

- Bu sizga bitta blokda bir nechta kengaytmalarni boshqarish imkonini beradi.
- JDK JRE ega bo'lgan barcha xususiyatlarni o'z ichiga oladi.
- Unda kompilyator, tuzatuvchi va boshqalar kabi ishlab chiqish vositalari mavjud.
- JDK Java manba kodini ishlab chiqish va bajarish uchun muhitni ta'minlaydi.
- U Windows, Unix va Mac operatsion tizimlariga o'rnatilishi mumkin.
- Diamond operatori aniq interfeysni yozish o'rniga umumiy turdagi interfeysni belgilashda ishlatilishi mumkin.

**JRE xususiyatlari**

- Java Runtime Environment - bu JVM aslida ishlaydigan vositalar to'plami.
- JRE Java Web Start va Java Plug-inni o'z ichiga olgan joylashtirish texnologiyasini o'z ichiga oladi.
- Ishlab chiquvchilar JRE-da manba kodini osongina ishga tushirishlari mumkin, ammo u Java dasturini yoza olmaydi va kompilyatsiya qila olmaydi.
- U Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Nameming and Directory Interface (JNDI) va boshqalar kabi integratsiya kutubxonalarini oʻz ichiga oladi.
- JREda JVM va Java HotSpot virtual mashinasi mijozi mavjud.

**JVM xususiyatlari**

- Bu cloud muhitda yoki qurilmangizda ilovalarni ishga tushirish imkonini beradi.
- Java virtual mashinasi bayt kodini mashinaga xos kodga aylantiradi.
- U xotirani boshqarish, xavfsizlik, axlat yig'ish va boshqalar kabi asosiy java funksiyalarini taqdim etadi.
- JVM Java Runtime Environment tomonidan berilgan kutubxonalar va fayllar yordamida dasturni ishga tushiradi.
- JDK va JRE ikkalasida Java virtual mashinasi mavjud.
- U java dasturini satr bo'yicha bajarishi mumkin, shuning uchun u tarjimon deb ham ataladi.
- JVMni osongina sozlash mumkin, masalan, siz unga minimal va maksimal xotira ajratishingiz mumkin.
- U apparat va operatsion tizimdan mustaqil. Shunday qilib, java dasturini bir marta yozib, istalgan joyda ishga tushirishingiz mumkin.




**Farqlari keltirilgan rasm**
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u5kk9x7n7ex6kv14boha.png)