Atšķirība starp JVM un JRE

JVM vs JRE

Java ir starp platformu programmēšanas valoda. Tas arī ievēro principu “rakstīt vienreiz, skrien jebkur”. Java rakstīto programmu Java kompilators var apkopot Java bytecode. Pēc tam baitkodu var izpildīt uz jebkuras platformas, kurā darbojas JRE (Java Runtime Environment). JRE ietver JVM (Java Virtual Machine), bāzes bibliotēkas (kas ievieš Java API) un citus atbalsta failus. JVM ir abstrakta skaitļošanas mašīna, kas darbojas kā starpnieks starp platformām specifisko JRE un Java kodu.

Kas ir JVM?

JVM ir virtuālās mašīnas tips, kuru mašīnas izmanto, lai izpildītu Java bytecode. Saskaņā ar Sun Microsystems (kurš Java izstrādāja, līdz to pavisam nesen nopirka Oracle), pasaulē ir vairāk nekā 4 miljardi JVM iespējotu ierīču. Konkrētāk, Java virtuālā mašīna ir abstrakta skaitļošanas mašīna, kas ieviesta standarta aparatūrā un operētājsistēmā. Viena no svarīgajām JVM funkcijām ir automatizēta izņēmumu apstrāde. Parasti JVM pavada standarta bibliotēku kolekcija. Faktiski JRE ir pakete, kurā ir JVM un klases, kas ievieš Java API. JVM ir ļoti svarīgs komponents, kas pielāgo Java programmēšanas valodas “vienreiz apkopot, visur palaist” raksturu. Kamēr darbojas JVM, Java kods var darboties tam virsū neatkarīgi no mašīnā izmantotās platformas. Tāpēc Java tiek saukta par starpplatformu vai vairāku platformu valodu.

Kas ir JRE?

JRE ir izpildes vide, kurā tiek palaists Java kods. Parasti JRE sastāv no JVM, standarta bāzes klasēm (kas ievieš pamata Java API) un citiem atbalsta failiem. JRE tips un struktūra mainās atkarībā no operētājsistēmas un CPU arhitektūras. Palaižot Java kodu, JRE sazināsies ar operētājsistēmu, kura savukārt runās ar atbilstošajiem aparatūras komponentiem. JRE instalēšana jūsu sistēmā ir obligāta, lai datorā palaistu java kodu. Tomēr JRE neietver kompilatoru, atkļūdotāju vai citus rīkus, kas nepieciešami Java programmu izstrādei (piemēram, appletviewer un javac). Ja jums ir jāizstrādā programmas Java, jums ir jābūt JDK (Java Development Kit), kurā ietilpst arī JRE.

Kāda ir atšķirība starp JVM un JRE?

Lai arī ikdienas lietošanā termini JVM un JRE tiek lietoti savstarpēji aizstājami, tiem ir atšķirības. JVM ir virtuāla mašīna, kas darbojas virs operētājsistēmas, bet JRE ir izpildlaika izpildes vide. JVM ir JRE sastāvdaļa. JVM specifikācija darbojas kā saikne starp platformai specifisko JRE ieviešanu un standarta Java bibliotēkām. Tāpēc JVM ir vienība, kas programmētājam nodrošina abstrakciju no iekšējās ieviešanas detaļām. Un tas ir atbildīgs par apkopotā baitskoda interpretāciju. Tomēr JVM ir vajadzīgas bāzes bibliotēkas un citi atbalsta faili, lai izpildītu java bytecode. Bet dažreiz JRE tiek vienkārši identificēts kā JVM ieviešana.