JVM vs JRE
Java je programovací jazyk pro různé platformy. Dodržuje také zásadu „psát jednou, běžet kamkoli“. Program napsaný v Javě lze kompilovat do Java bytecode pomocí kompilátoru Java. Potom může být bytecode spuštěn na jakékoli platformě se spuštěním JRE (Java Runtime Environment). JRE zahrnuje JVM (Java Virtual Machine), základní knihovny (které implementuje Java API) a další podpůrné soubory. JVM je abstraktní počítač, který funguje jako prostředník mezi platformami specifickými pro JRE a kódem Java.
Co je JVM?
JVM je typ virtuálního stroje, který stroje používají k provádění bajtového kódu Java. Podle společnosti Sun Microsystems (která vyvinula Javu, dokud ji nezakoupila společnost Oracle, velmi nedávno) existují na světě více než 4 miliardy zařízení s podporou JVM. Přesněji řečeno, Java Virtual Machine je abstraktní výpočetní stroj implementovaný na standardním hardwaru a operačním systému. Jednou z důležitých funkcí poskytovaných JVM je automatizované zpracování výjimek. Kolekce standardních knihoven obvykle doprovází JVM. Ve skutečnosti je JRE balíček obsahující JVM a třídy, které implementují Java API. JVM je velmi důležitá součást, která umožňuje použití programovacího jazyka Java typu „kompilace jednou, kdekoli“. Dokud je JVM spuštěn, váš Java kód může běžet nad ním, bez ohledu na platformu použitou ve stroji. To je důvod, proč se Java nazývá multiplatformní nebo multiplatformní jazyk.
Co je JRE?
JRE je prováděcí prostředí, ve kterém je spuštěn kód Java. Typicky se JRE skládá z JVM, standardních základních tříd (které implementují základní Java API) a dalších podpůrných souborů. Typ a struktura prostředí JRE se liší v závislosti na operačním systému a architektuře CPU. Když je spuštěn kód Java, bude JRE komunikovat s operačním systémem, který bude zase komunikovat s odpovídajícími hardwarovými komponentami. Po instalaci JRE ve vašem systému je nutné spustit jakýkoli java kód na vašem počítači. JRE však neobsahuje kompilátor, debugger ani žádné jiné nástroje potřebné pro vývoj programů Java (jako appletviewer a javac). Pokud potřebujete vyvíjet programy v Javě, musíte mít JDK (Java Development Kit), který zahrnuje také JRE.
Jaký je rozdíl mezi a JVM a JRE?
Ačkoli se v běžném používání termíny JVM a JRE používají zaměnitelně, mají své rozdíly. JVM je virtuální stroj, který běží na vrcholu operačního systému, zatímco JRE je běhové prostředí pro běh. JVM je součástí JRE. Specifikace JVM funguje jako spojovací článek mezi implementací JRE specifickou pro platformu a standardními knihovnami Java. Proto je JVM entita, která programátorovi poskytuje abstrakci od detailů vnitřní implementace. A je zodpovědný za interpretaci kompilovaného bajtkódu. Pro provedení bajtového kódu Java však JVM potřebuje základní knihovny a další podpůrné soubory. Někdy je však JRE jednoduše identifikováno jako implementace JVM.