Pagkakaiba sa pagitan ng JVM at JRE

Pagkakaiba sa pagitan ng JVM at JRE
Pagkakaiba sa pagitan ng JVM at JRE

Video: Pagkakaiba sa pagitan ng JVM at JRE

Video: Pagkakaiba sa pagitan ng JVM at JRE
Video: FTP (File Transfer Protocol), SFTP, TFTP Explained. 2024, Nobyembre
Anonim

JVM vs JRE

Ang Java ay isang cross-platform na programming language. Sumusunod din ito sa prinsipyong "magsulat ng isang beses, tumakbo kahit saan". Ang program na nakasulat sa Java ay maaaring i-compile sa Java bytecode ng Java compiler. Pagkatapos, ang bytecode ay maaaring isagawa sa anumang platform na tumatakbo sa JRE (Java Runtime Environment). Kasama sa JRE ang JVM (Java Virtual Machine), mga batayang aklatan (na nagpapatupad ng Java API) at iba pang mga sumusuportang file. Ang JVM ay isang abstract computing machine na nagsisilbing tagapamagitan sa pagitan ng mga partikular na platform na JRE at ng Java code.

Ano ang JVM?

Ang JVM ay isang uri ng virtual machine na ginagamit ng mga machine para mag-execute ng Java bytecode. Ayon sa Sun Microsystems (na bumuo ng Java hanggang sa ito ay binili ng Oracle, kamakailan lamang), mayroong higit sa 4 bilyong JVM na mga device na pinagana sa mundo. Higit na partikular, ang Java Virtual Machine ay isang abstract computing machine na ipinatupad sa karaniwang hardware at operating system. Ang isa sa mahalagang functionality na ibinigay ng JVM ay ang awtomatikong paghawak ng exception. Karaniwan, ang isang koleksyon ng mga karaniwang aklatan ay kasama ng JVM. Sa katunayan, ang JRE ay isang bundle na naglalaman ng JVM at ang mga klase na nagpapatupad ng Java API. Ang JVM ay isang napakahalagang bahagi, na tinatanggap ang likas na "compile once, run anywhere" ng Java programming language. Hangga't tumatakbo ang JVM, maaaring tumakbo ang iyong Java code sa ibabaw nito, anuman ang platform na ginamit sa makina. Ito ang dahilan kung bakit ang Java ay tinatawag na cross-platform o multi-platform na wika.

Ano ang JRE?

Ang JRE ay ang execution environment kung saan pinapatakbo ang Java code. Karaniwan, ang JRE ay binubuo ng JVM, mga karaniwang batayang klase (na nagpapatupad ng batayang Java API) at iba pang sumusuportang mga file. Ang uri at istraktura ng JRE ay nag-iiba depende sa operating system at sa arkitektura ng CPU. Kapag ang Java code ay pinatakbo, ang JRE ay makikipag-ugnayan sa operating system, na siya namang makikipag-usap sa mga kaukulang bahagi ng hardware. Ang pagkakaroon ng JRE na naka-install sa iyong system ay kinakailangan upang magpatakbo ng anumang java code sa iyong makina. Gayunpaman, ang JRE ay hindi kasama ang isang compiler, debugger o anumang iba pang mga tool na kailangan para sa pagbuo ng mga Java program (tulad ng appletviewer at javac). Kung kailangan mong bumuo ng mga programa sa Java, kailangan mong magkaroon ng JDK (Java Development Kit), na kinabibilangan din ng JRE.

Ano ang pagkakaiba ng JVM at JRE?

Bagama't, sa pang-araw-araw na paggamit, ang mga terminong JVM at JRE ay ginagamit nang palitan, mayroon silang mga pagkakaiba. Ang JVM ay isang virtual machine na tumatakbo sa ibabaw ng operating system, habang ang JRE ay ang runtime execution environment. Ang JVM ay bahagi ng JRE. Ang pagtutukoy ng JVM ay nagsisilbing link sa pagitan ng pagpapatupad ng JRE na partikular sa platform at ng mga karaniwang library ng Java. Samakatuwid, ang JVM ay ang entity na nagbibigay ng abstraction mula sa mga detalye ng panloob na pagpapatupad sa programmer. At responsable ito sa pagbibigay-kahulugan sa pinagsama-samang bytecode. Gayunpaman, kailangan ng JVM ang mga batayang aklatan at iba pang sumusuportang file upang maisagawa ang java bytecode. Ngunit kung minsan, ang JRE ay kinikilala lamang bilang isang pagpapatupad ng JVM.

Inirerekumendang: