Java Virtual Machine
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. 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 programovací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 využívající ochranou známku "Java" mohou být vyvýjený i jinými společnostmi, pokud budou splněny 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).
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.
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.