JVM va JRE
Java - platformalararo dasturlash tili. Shuningdek, u "bir marta yozing, istalgan joyda choping" tamoyiliga amal qiladi. Java tilida yozilgan dastur Java kompilyatori tomonidan Java baytekodiga kompilyatsiya qilinishi mumkin. Keyin bayt-kod JRE (Java Runtime Environment) bilan ishlaydigan har qanday platformada bajarilishi mumkin. JRE JVM (Java Virtual Machine), asosiy kutubxonalar (Java API-ni amalga oshiradi) va boshqa qo'llab-quvvatlovchi fayllarni o'z ichiga oladi. JVM mavhum hisoblash mashinasi boʻlib, u JRE platformalari va Java kodlari oʻrtasida vositachi vazifasini bajaradi.
JVM nima?
JVM - Java baytekodini bajarish uchun mashinalar tomonidan ishlatiladigan virtual mashina turi. Sun Microsystems ma'lumotlariga ko'ra (Java'ni Oracle tomonidan sotib olinmaguncha, yaqinda ishlab chiqqan), dunyoda 4 milliarddan ortiq JVM yoqilgan qurilmalar mavjud. Aniqroq aytganda, Java Virtual Machine - bu standart apparat va operatsion tizimda amalga oshirilgan mavhum hisoblash mashinasi. JVM tomonidan taqdim etilgan muhim funksiyalardan biri bu istisnolarni avtomatlashtirilgan boshqarishdir. Odatda, standart kutubxonalar to'plami JVM bilan birga keladi. Aslida, JRE - bu JVM va Java API-ni amalga oshiradigan sinflarni o'z ichiga olgan to'plam. JVM juda muhim komponent bo'lib, Java dasturlash tilining "bir marta kompilyatsiya, istalgan joyda ishga tushirish" xususiyatini o'z ichiga oladi. JVM ishlayotgan ekan, kompyuterda ishlatiladigan platformadan qat'i nazar, Java kodingiz uning ustida ishlashi mumkin. Shuning uchun Java oʻzaro platformali yoki koʻp platformali til deb ataladi.
JRE nima?
JRE Java kodi ishga tushiriladigan ijro muhitidir. Odatda, JRE JVM, standart tayanch sinflar (asosiy Java API-ni amalga oshiradigan) va boshqa yordamchi fayllardan iborat. JRE turi va tuzilishi operatsion tizim va CPU arxitekturasiga qarab farq qiladi. Java kodi ishga tushirilganda, JRE operatsion tizim bilan bog'lanadi, bu esa o'z navbatida tegishli apparat komponentlari bilan gaplashadi. Mashinada har qanday java kodini ishga tushirish uchun tizimingizda JRE o'rnatilgan bo'lishi shart. Biroq, JRE kompilyator, tuzatuvchi yoki Java dasturlarini ishlab chiqish uchun zarur bo'lgan boshqa vositalarni (masalan, appletviewer va javac) o'z ichiga olmaydi. Agar siz Java-da dasturlar ishlab chiqishingiz kerak bo'lsa, sizda JDK (Java Development Kit) bo'lishi kerak, unga JRE ham kiradi.
JVM va JRE oʻrtasidagi farq nima?
Kundalik foydalanishda JVM va JRE atamalari bir-birining oʻrnida ishlatilsa-da, ularning farqlari bor. JVM - bu operatsion tizimning yuqori qismida ishlaydigan virtual mashina, JRE esa ish vaqtini bajarish muhitidir. JVM JRE ning bir qismidir. JVM spetsifikatsiyasi platformaga xos JRE ilovasi va standart Java kutubxonalari o'rtasidagi bog'lovchi vazifasini bajaradi. Shuning uchun, JVM dasturchiga ichki amalga oshirish tafsilotlaridan mavhumlikni ta'minlaydigan ob'ektdir. Va kompilyatsiya qilingan bayt kodini talqin qilish uchun javobgardir. Biroq, JVM java bayt kodini bajarish uchun asosiy kutubxonalar va boshqa yordamchi fayllarga muhtoj. Ammo ba'zida JRE oddiygina JVM ilovasi sifatida aniqlanadi.