JVM vs JRE
„Java“ yra kelių platformų programavimo kalba. Tai taip pat laikosi principo „rašyk vieną kartą, bėk visur“. „Java“ parašytą programą „Java“ kompiliatorius gali sudaryti iš „Java“ baitų kodo. Tada baitinį kodą galima vykdyti bet kurioje platformoje, kurioje veikia JRE (Java Runtime Environment). JRE apima JVM („Java Virtual Machine“), bazines bibliotekas (kurios diegia „Java API“) ir kitus pagalbinius failus. JVM yra abstrakti skaičiavimo mašina, veikianti kaip tarpininkas tarp konkrečių platformų JRE ir „Java“ kodo.
Kas yra JVM?
JVM yra tam tikros rūšies virtualioji mašina, kurią mašinos naudoja „Java“ baitų kodams vykdyti. Anot „Sun Microsystems“ (kuris „Java“ sukūrė iki tol, kol ją nusipirko „Oracle“, visai neseniai), pasaulyje yra daugiau nei 4 milijardai JVM palaikančių įrenginių. Kalbant konkrečiau, „Java Virtual Machine“ yra abstrakti skaičiavimo mašina, įdiegta standartinėje aparatinėje ir operacinėje sistemose. Viena iš svarbių JVM teikiamų funkcijų yra automatizuotas išimčių tvarkymas. Paprastai JVM lydi standartinių bibliotekų kolekcija. Tiesą sakant, JRE yra paketas, kuriame yra JVM ir klasės, įgyvendinančios Java API. JVM yra labai svarbus komponentas, turintis „Java“ programavimo kalbos „sudaryk vieną kartą, paleisk bet kur“ pobūdį. Kol veikia JVM, jūsų „Java“ kodas gali veikti ant viršaus, neatsižvelgiant į mašinoje naudojamą platformą. Štai kodėl „Java“ vadinama kelių platformų ar kelių platformų kalba.
Kas yra JRE?
JRE yra vykdymo aplinka, kurioje vykdomas „Java“ kodas. Paprastai JRE susideda iš JVM, standartinių bazinių klasių (kurios įgyvendina bazinę „Java API“) ir kitų palaikančių failų. JRE tipas ir struktūra skiriasi priklausomai nuo operacinės sistemos ir procesoriaus architektūros. Paleidus „Java“ kodą, JRE palaikys ryšį su operacine sistema, kuri savo ruožtu kalbėsis su atitinkamais aparatūros komponentais. JRE įdiegimas jūsų sistemoje yra būtinas norint paleisti bet kurį „Java“ kodą jūsų kompiuteryje. Tačiau JRE neapima kompiliatoriaus, derintuvo ar kitų įrankių, reikalingų „Java“ programoms kurti (pvz., „Appletviewer“ ir „Java“). Jei jums reikia kurti programas „Java“, turite turėti JDK („Java Development Kit“), į kurį taip pat įeina JRE.
Kuo skiriasi JVM ir JRE?
Nors kasdien vartojant terminus JVM ir JRE vartojama pakaitomis, jie turi skirtumų. JVM yra virtuali mašina, veikianti operacinės sistemos viršuje, o JRE - vykdymo laiko vykdymo aplinka. JVM yra JRE dalis. JVM specifikacija yra sąsaja tarp platformos specifinio JRE diegimo ir standartinių „Java“ bibliotekų. Todėl JVM yra tas subjektas, kuris programuotojui teikia santrauką iš vidinės informacijos apie įgyvendinimą. Ir jis yra atsakingas už sudaryto baitinio kodo aiškinimą. Tačiau JVM reikia bazinių bibliotekų ir kitų palaikančių failų, kad būtų vykdomas „Java“ baitų kodas. Bet kartais JRE paprasčiausiai įvardijamas kaip JVM įgyvendinimas.