Tofauti Kati ya JVM na JRE

Tofauti Kati ya JVM na JRE
Tofauti Kati ya JVM na JRE

Video: Tofauti Kati ya JVM na JRE

Video: Tofauti Kati ya JVM na JRE
Video: FTP (File Transfer Protocol), SFTP, TFTP Explained. 2024, Novemba
Anonim

JVM vs JRE

Java ni lugha ya upangaji wa mifumo mbali mbali. Pia inazingatia kanuni ya "andika mara moja, kukimbia popote". Programu iliyoandikwa katika Java inaweza kukusanywa kwa Java bytecode na mkusanyaji wa Java. Halafu, bytecode inaweza kutekelezwa kwenye jukwaa lolote linaloendesha JRE (Mazingira ya Runtime ya Java). JRE inajumuisha JVM (Java Virtual Machine), maktaba za msingi (ambazo hutekeleza API ya Java) na faili zingine zinazosaidia. JVM ni mashine dhahania ya kompyuta ambayo hufanya kazi kama mpatanishi kati ya mifumo mahususi ya JRE na msimbo wa Java.

JVM ni nini?

JVM ni aina ya mashine pepe inayotumiwa na mashine kutekeleza Java bytecode. Kulingana na Sun Microsystems (ambao walitengeneza Java hadi ikanunuliwa na Oracle, hivi majuzi), kuna zaidi ya vifaa bilioni 4 vilivyowezeshwa vya JVM ulimwenguni. Hasa zaidi, Mashine ya Mtandaoni ya Java ni mashine dhahania ya kompyuta inayotekelezwa kwenye maunzi ya kawaida na mfumo wa uendeshaji. Mojawapo ya utendakazi muhimu unaotolewa na JVM ni utunzaji wa kiotomatiki wa ubaguzi. Kwa kawaida, mkusanyiko wa maktaba za kawaida huambatana na JVM. Kwa kweli, JRE ni kifungu kilicho na JVM na madarasa ambayo yanatekeleza API ya Java. JVM ni sehemu muhimu sana, ambayo inashughulikia asili ya "kukusanya mara moja, kukimbia popote" ya lugha ya programu ya Java. Muda tu JVM inafanya kazi, nambari yako ya Java inaweza kukimbia juu yake, bila kujali jukwaa linalotumiwa kwenye mashine. Hii ndiyo sababu Java inaitwa lugha ya majukwaa mtambuka au majukwaa mengi.

JRE ni nini?

JRE ni mazingira ya utekelezaji ambayo msimbo wa Java unaendeshwa. Kawaida, JRE inaundwa na JVM, madarasa ya msingi ya kawaida (ambayo yanatekeleza API ya msingi ya Java) na faili zingine zinazounga mkono. Aina na muundo wa JRE hutofautiana kulingana na mfumo wa uendeshaji na usanifu wa CPU. Wakati msimbo wa Java unapoendeshwa, JRE itawasiliana na mfumo wa uendeshaji, ambao nao utazungumza na vipengele vya vifaa vinavyofanana. Kuwa na JRE iliyosanikishwa kwenye mfumo wako ni lazima kuendesha msimbo wowote wa java kwenye mashine yako. Walakini, JRE haijumuishi mkusanyaji, kitatuzi au zana zingine zozote zinazohitajika kwa ukuzaji wa programu za Java (kama vile appletviewer na javac). Ikiwa unahitaji kuunda programu katika Java, unahitaji kuwa na JDK (Java Development Kit), ambayo inajumuisha JRE pia.

Kuna tofauti gani kati ya na JVM na JRE?

Ingawa, katika matumizi ya kila siku, maneno JVM na JRE yanatumika kwa kubadilishana, yana tofauti zake. JVM ni mashine ya kawaida inayoendesha juu ya mfumo wa uendeshaji, wakati JRE ni mazingira ya utekelezaji wa wakati wa kukimbia. JVM ni sehemu ya JRE. Uainishaji wa JVM hufanya kama kiungo kati ya utekelezaji wa jukwaa mahususi wa JRE na maktaba za kawaida za Java. Kwa hivyo, JVM ndio huluki ambayo hutoa uondoaji kutoka kwa maelezo ya ndani ya utekelezaji kwa programu. Na inawajibika kutafsiri bytecode iliyokusanywa. Walakini, JVM inahitaji maktaba za msingi na faili zingine zinazounga mkono kutekeleza bytecode ya java. Lakini wakati mwingine, JRE inatambulika kama utekelezaji wa JVM.

Ilipendekeza: