====== Java ====== **Java** je jedním z nejpopulárnějších jazyků na světě. Její síla spočívá v tom, že kód není kompilován přímo pro konkrétní procesor (jako u C++), ale do tzv. **Bytecodu**, který následně interpretuje virtuální stroj. ===== 1. Jak Java funguje? ===== Proces běhu programu v Javě zahrnuje tři klíčové součásti: * **JDK (Java Development Kit):** Sada nástrojů pro vývojáře (kompilátor `javac`, debugger). * **JRE (Java Runtime Environment):** Prostředí nutné pro spuštění Java aplikací u koncového uživatele. * **JVM (Java Virtual Machine):** Srdce Javy. Virtuální stroj, který čte Bytecode a překládá ho do instrukcí konkrétního hardwaru. ===== 2. Klíčové vlastnosti ===== * **Objektově orientovaná (OOP):** Vše v Javě je považováno za objekt, což usnadňuje správu velkých projektů. * **Automatická správa paměti (Garbage Collector):** Programátor nemusí ručně uvolňovat paměť. Java má "uklízeče", který automaticky odstraňuje nepoužívané objekty. * **Robustnost a bezpečnost:** Java byla navržena tak, aby eliminovala časté chyby (např. přímý přístup do paměti přes ukazatele), které v jiných jazycích způsobují pády systému. * **Vícevláknovost (Multithreading):** Java má integrovanou podporu pro provádění více úloh současně. ===== 3. Ekosystém a využití ===== Java není jen jeden jazyk, ale dělí se na několik edicí podle cíle použití: * **Java SE (Standard Edition):** Základní edice pro desktopové aplikace a běžné programování. * **Java EE / Jakarta EE (Enterprise Edition):** Rozšíření pro rozsáhlé firemní systémy a webové servery. * **Java ME (Micro Edition):** Pro zařízení s omezeným výkonem (starší mobily, čipové karty). * **Android:** Ačkoliv Google nyní prosazuje Kotlin, Java byla po desetiletí hlavním jazykem pro vývoj aplikací pro Android. ===== 4. Srovnání: Java vs. C++ ===== ^ Vlastnost ^ Java ^ C++ ^ | **Správa paměti** | Automatická (Garbage Collector) | Manuální (delete/free) | | **Přenositelnost** | Vysoká (běží v JVM) | Nízká (nutná rekompilace pro každý OS) | | **Rychlost** | Velmi vysoká (díky JIT kompilaci) | Extrémní (blízko hardwaru) | | **Ukazatele** | Neexistují (bezpečnější) | Přímá práce s pamětí | ===== 5. Ukázka kódu (Hello World) ===== public class Pozdrav { public static void main(String[] args) { System.out.println("Ahoj, světe!"); } } > **Zajímavost:** Java se původně měla jmenovat **Oak** (Dub), podle stromu, který stál před oknem hlavního vývojáře Jamese Goslinga. Název Java byl vybrán později v kavárně podle kávy z indonéského ostrova Jáva. [[it_encyklopedie:programovaci_jazyky_rozcestnik|Zpět na Jazyky]]