Java Virtual Machine

Java Virtual Machine (JVM) je sada počítačových programů a datových struktur, která využívá modul virtuálního stroje ke spuštění dalších počítačových programů a skriptů vytvořených v jazyce Java.

Úkolem tohoto modulu je zpracovat pouze tzv. mezikód, který je v Javě označován jako Java bytecode. Oracle uvedl, že po celém světě existuje více než 5,5 miliard zařízení s JVM.

Java Virtual Machine
Znázornění architektury JVM.

Java Virtual Machine umí zpracovat mezikód (Java bytecode), který je obvykle vytvořen ze zdrojových kódů programovacího jazyka Java. Mezikód však může být vytvořen i z jiných jazyků než je Java. Příkladem zdrojového kódu, který může být přeložen do Java bytecodu je zdrojový kód jazyka Ada. Virtuální stroj JVM mohou využívat kromě Sun (firma vyvíjející programovací jazyk Java) i jiné společnosti, které se zabývají vývojem programovacích jazyků. JVM je sice zahrnutý v ochranné známce „Java“, ale může být vyvíjen i jinými společnostmi, pokud budou dodrženy podmínky a související smluvní závazky vydané společností Sun.

Java Virtual Machine je důležitý pro práci programů vytvořených v Javě. Díky tomu že je JVM k dispozici na mnoha platformách, je možné aplikaci v Javě vytvořit pouze jednou a spustit na kterékoliv z platforem, pro kterou je vyvinut JVM (např. Windows, Linux). JVM umožňuje automatické zpracování výjimek, díky kterým dokáže určit hlavní příčinu chyby nezávisle na zdrojovém kódu.

JVM je dodáván spolu se sadou standardních knihoven, které jsou nazývány Java API (Application Programming Interface). Application Programing Interface je systém, který umožňuje programu pracovat s funkcemi a třídami knihoven. JVM a API společně tvoří celek, který je poskytován jako Java Runtime Environment (JRE).

Spouštěcí prostředí

Aby mohla být aplikace spuštěna v JVM musí být zkompilována do standardizovaného a přenosného binárního formátu, který je obvykle ve formě .class souborů. Aplikace může být složena z mnoha různých druhů souborů, proto je možné pro snadnější distribuci rozsáhlých aplikací, zabalit více javovských tříd do jednoho souboru typu .jar.

Spustitelné jsou v JVM soubory s příponou .class nebo .jar. JVM je takzvaný interpret umožňující vykonávat zdrojový kód programu přeložený do mezikódu a zprostředkovat tak komunikaci s platformou na které je JVM spuštěn. V pozdějších verzích Javy nebyl mezikód přímo interpretován, ale před prvním svým spuštěním dynamicky zkompilován do strojového kódu daného počítače (tzv. Just-in-time kompilace, JIT). V současnosti se převážně používají technologie zvané HotSpot compiler, které mezikód zpočátku interpretují a na základě statistik získaných z této interpretace později provedou překlad často používaných částí do strojového kódu včetně dalších dynamických optimalizací (jako je např. inlining krátkých metod atp.).

Podpora dalších jazyků

Ačkoliv byl JVM zaměřen hlavně na spouštění programů vytvořených v Javě, nyní je možné v JVM spustit i programy vytvořené v jiných programovacích jazycích, jako např.:

Stávající JVM je vyvinut pro podporu jazyků se statickou typovou kontrolou a zatím nemá přímo zabudovanou podporu pro jazyky s dynamickou typovou kontrolou. V současné době má JVM pouze omezenou podporu dynamických kontrol tříd a metod.

Se zabudováním podpory pro jazyky s dynamickou typovou kontrolou se počítá v Javě 7.

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Java Virtual Machine na anglické Wikipedii.

Související články

Externí odkazy

Tags:

Java Virtual Machine Spouštěcí prostředíJava Virtual Machine Podpora dalších jazykůJava Virtual Machine OdkazyJava Virtual MachineJava (programovací jazyk)MezikódOracle CorporationVirtuální stroj

🔥 Trending searches on Wiki Čeština:

Bršlice kozí nohaSagvan TofiSeznam řek v ČeskuRomeo a JulieZnojmoStoicismusJedna rodinaStředočeský krajSeznam.czRumunskoČeské BudějovicePrvní republikaThajskoPetra ŠpalkováTereza BebarováTutanchamonAntoine de Saint-ExupérySavanaSeznam dílů českého seriálu ZooGraeme ObreeWilliam ShakespeareMoravskoslezský krajArgentinaLudvík XIV.PlzeňSpartaCholesterolPohlavní stykVolby do Poslanecké sněmovny Parlamentu České republiky 2021Josif Vissarionovič StalinKommunaČeský KrumlovMetro v MoskvěJosef ŠkvoreckýVojtěch KotekHelena VondráčkováJekatěrina Ivanovna ZarinaDen ZeměMarek HilšerRudolf HrušínskýMadeira (ostrov)Veronika ŽilkováKraj VysočinaSeznam nejčastějších mužských jmen v ČeskuJiří SchmitzerMarek BrodskýČeskoLichtenštejnskoStephen HawkingKombuchaOlympijské hryTepliceIdi AminVladimir PutinSvastikaAlois JirásekLadislav ŠtaidlPythagorova větaČeštinaJižní AmerikaPetr KolečkoVladimír KratinaElektrický proudVláda České republikyJán PardavýKurt CobainKoncentrační tábor LetyMonika ZoubkováBabička (kniha)Andrej BabišGustáv HusákMarie TerezieMitragyna speciosaRudolf II.Ernest HemingwayJaponskoDominikánská republikaMistrovství světa ve fotbale 1978 (soupisky)🡆 More