Java Virtual Machine

Znázornění architektury JVM.

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.[1]

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.

  1. Learn About Java Technology [online]. Oracle [cit. 2013-09-02]. Dostupné online. (anglicky) 

Související články

Externí odkazy


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Java_Virtual_Machine
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.