Java je názov programovacieho jazyka vytvoreného spoločnosťou Sun Microsystems. Túto spoločnosť odkúpila spoločnosť Oracle Corporation, ktorá ho naďalej aktualizuje. Java má pravidelný plán vydaní (nové verzie približne každých šesť mesiacov) a zároveň niekoľko verzií s dlhodobou podporou (LTS). Medzi významné LTS vydania patria Java 8, Java 11 (vydaná 25. septembra 2018) a Java 17 (LTS, vydaná v septembri 2021). Novšie LTS verzie a krátkodobé vydania prinášajú ďalšie jazykové prvky a vylepšenia výkonu; pre produkčné nasadenia si organizácie zvyčajne vyberajú konkrétnu LTS verziu podľa požiadaviek a podpory.

Krátka história a pomenovanie

Java, ktorá sa v čase svojho vývoja nazývala Oak, vznikla s cieľom vytvoriť prenositeľný, bezpečný a jednoduchý objektovo orientovaný jazyk vhodný pre vstavané zariadenia a sieťové aplikácie. Názov Java sa stal synonymom pre široký ekosystém nástrojov, knižníc a runtime prostredí.

Vlastnosti jazyka

  • Objektovo orientovaná: Java je primárne založená na objektovo orientovanom prístupe, kde sú programy organizované do tried a objektov, ktoré spolu komunikujú.
  • Silné typovanie: Java má statické a silné typovanie, čo znamená, že typy premenných sú kontrolované počas kompilácie a mnoho chýb sa odhalí skôr než sa program spustí.
  • Nezávislosť od platformy: Kód Javy sa kompiluje do bajtového kódu, ktorý interpretuje alebo JIT-kompiluje virtuálny stroj Java (JVM). Tento princíp „write once, run anywhere“ umožňuje spúšťať ten istý bytecode na rôznych operačných systémoch.
  • Automatická správa pamäte: Java obsahuje garbage collector, ktorý automaticky uvoľňuje nepoužívanú pamäť, čím sa znižuje riziko únikov pamäte a chýb súvisiacich s manuálnym uvoľňovaním pamäte.
  • Súbežnosť: Java má vstavanú podporu pre vlákna a súbežné programovanie; novšie verzie priniesli ďalšie mechanizmy a optimalizácie pre škálovateľnosť a paralelizmus.
  • Rozsiahla štandardná knižnica: Java poskytuje bohatú štandardnú API (kolekcie, I/O, siete, XML/JSON, bezpečnosť a ďalšie), ktorá urýchľuje vývoj bežných i pokročilých funkcií.
  • Zadné kompatibility: Java sa silne zameriava na udržiavanie spätné kompatibility binárneho a jazykového kódu, čo uľahčuje aktualizácie a dlhodobú údržbu projektov.

Kompilácia a spúšťanie

Kompilátor jazyka Java prevádza zdrojový kód do bajtového kódu, nie priamo do strojového kódu. Tento bajtový kód vykonáva JVM, ktorá môže bajtový kód interpretovať alebo ho počas behu JIT (Just-In-Time) kompilovať do natívneho strojového kódu cieľovej platformy. Vďaka tomu sú programy v Jave prenositeľné medzi rôznymi OS a hardvérom bez nutnosti znovu-kompilácie.

Komponenty ekosystému

  • JDK (Java Development Kit): obsahuje kompilátor, nástroje pre vývoj, knižnice a JVM. Používa sa pri tvorbe aplikácií.
  • JRE (Java Runtime Environment): poskytuje JVM a štandardné knižnice potrebné len na spúšťanie Java aplikácií (v modernej praxi je často súčasťou JDK alebo distribuované ako modulárne runtime).
  • OpenJDK a ďalšie distribúcie: OpenJDK je otvorená implementácia Javy. Existujú aj iné distribúcie a buildy (napr. Oracle JDK, Eclipse Temurin, Amazon Corretto, Azul, BellSoft Liberica), ktoré poskytujú rôzne modely podpory a licencovania.
  • HotSpot a alternatívne JVM: HotSpot je štandardný JVM od Oracle/OpenJDK. Existujú aj ďalšie VM implementácie a optimalizácie (napr. GraalVM pre AOT kompiláciu a polyglot podporu).

Vývoj jazykových prvkov v novších verziách

V posledných vydaniach Java priniesla množstvo moderných prvkov, ktoré zjednodušujú zápis a výkon aplikácií: lambda výrazy a Stream API (Java 8), modulárny systém (JPMS) a REPL (JShell) (Java 9), lokálna inferencia typov (var, Java 10), textové bloky, records, pattern matching a sealed triedy v následných verziách. Tieto vylepšenia uľahčujú vývoj čistšieho a expresívnejšieho kódu.

Použitie a ekosystém

Java sa používa v rôznych oblastiach:

  • serverové a enterprise aplikácie (frameworky ako Spring, Jakarta EE),
  • desktopové aplikácie,
  • big data (napr. Apache Hadoop, Apache Spark majú silné Java/Scala väzby),
  • zabudované a IoT zariadenia,
  • mobilné aplikácie — historicky Android používal Javu; dnes Google preferuje Kotlin, no Java kód a knižnice sú stále široko používané.

Okrem jazyka samotného patrí k ekosystému množstvo nástrojov pre vývoj (Maven, Gradle), testovanie, deployment (Docker, Kubernetes) a monitorovanie, čo z Javy robí populárnu voľbu pre podnikové riešenia.

Bezpečnosť a licencia

Java kladie dôraz na bezpečné vykonávanie kódu (sandboxing, bezpečnostné manažéry a kryptografické knižnice). Licenčné podmienky sa v priebehu rokov menili — organizácie preto často volia medzi Oracle JDK (komerčná podpora) a OpenJDK alebo inými distribúciami s odlišnými podpornými podmienkami.

Pre koho je Java vhodná

Java je vhodná pre vývojárov, ktorí potrebujú stabilnú, výkonnú a prenosnú platformu s bohatým ekosystémom knižníc a nástrojov. Je obzvlášť silná v oblasti backendu, enterprise riešení, distribuovaných systémov a veľkých dát.

Ak sa chcete učiť Javu, začnite so základmi jazyka (syntaxi, OOP), potom prejdite na kolekcie, výnimky, I/O, súbežnosť a nakoniec na moderné prvky (lambda, Stream API, moduly). Praktické projekty a používanie build nástrojov (Maven/Gradle) a frameworkov (napr. Spring) výrazne zrýchlia osvojenie jazyka.