Přeskočit na obsah

Java Virtual Machine

Z Wikipedie, otevřené encyklopedie

Java Virtual Machine (JVM) je sada počítačových programů a datových struktur, které používají modul virtuálního stroje ke spuštění dalších počítačových programů a skriptů vytvořených v jazyce Java. Tento modul používaný v JVM zpracovává pouze tzv. mezikód, který se označuje jako Java bytecode (mezikód). Odhaduje se, že od roku 2006 bylo JVM spuštěno na čtyřech miliardách stanic po celém světě.

Java Virtual Machine pracuje s mezikódem (Java bytecode), který je obvykle vytvořen ze zdrojových kódů programovacího jazyka Java. Tento mezikód však může být vytvořen i z jiných jazyků než je Java. Například zdrojový kód jazyka Ada může být zkompilován do mezikódu (Java bytecode) a následně používán v JVM. JVM jako virtuální stroj 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 zahrnutý v ochranné známce "Java" 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 klíčový pro funkci programů vytvořených v Javě. Díky tomu že jsou JVM k dispozici na mnoha hardwarových a softwarových platfomách, je možné aplikaci v Javě vytvořit pouze jednou a spustit na kterékoliv z platforem, pro kterou je dispozici JVM (např. Windows, Linux). JVM umožňuje automatické zpracování výjimek, které stanoví nezávisle na zdrojovém kódu hlavní příčinu chyby, která se vyskytla v programu.

JVM je dodáván spolu se sadou standardních knihoven, které jsou nazývány Java API (Application Programming Interface). Aplication Programing Interface je systém, který umožňuje aplikaci 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í

Aplikace spouštěné na JVM musí být zkompilovány do standardizovaného přenosného binárního formátu, který je obvykle ve formě .class souborů. Aplikace se může skládat z mnoha různých druhů souborů. Pro snadnou distribuci rozsáhlých aplikací, je možné více tříd zabalit do jednoho souboru typu .jar.

Spouštěcími soubory JVM jsou .class nebo .jar. JVM je takzvaný interpret umožňující zpracovat Java bytecode a zprostředkovávající komunikaci s instrukční sadou zařízení na kterém je spuštěn.V pozdějších verzích Javy nebyl Java bytecode přímo interpretován, ale před prvním svým provedením dynamicky zkompilován do strojového kódu daného počítače (tzv. just in time compilation - JIT).

Podpora dalších jazyků

Kontrola bytecodu

Instrukce bytecodu

Související články

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