Tomáš Pitner, Radek Ošlejšek, Marek Šabo, Jakub Čecháček pitner@muni.cz
Dle indexu TIOBE (na bázi výskytu "java programming" na webu) stále 4. nejpopulárnější jazyk na světě, ovšem s mírně klesajícím podílem, po jazycích Python, C, C++.
Je imperativním jazykem vysoké úrovně nově s funkcionálními prvky.
Je jazykem univerzálním — není určen výhradně pro specifickou aplikační oblast.
Je jazykem objektově-orientovaným — program používá volání metod objektů (zasílání zpráv objektům).
Je OO jazykem disponujícím objektovými třídami, což automaticky neplatí pro všechny jazyky s objekty.
Ideovým předchůdcem Javy je C++.
Java podporuje vytváření správných návyků v objektovém programování (dokumentace, zapouzdření, silný typová kontrola)
Funkcionální (lambda) výrazy zkracují zápis a zpřehledňují kód.
Přenositelnost na jiné počítače a operační systémy na úrovni zdrojového i přeloženého kódu. Přeložený program běží v tzv. Java Virtual Machine (JVM).
Běhová bezpečnostní kontrola, efektivní automatická alokace a dealokace paměti (garbage collection).
Pro tradiční typy serverových podnikových aplikací a systémů zůstává Java (Enterprise Edition) klíčovou platformou spolu s .NET.
Je spolu s následníkem Kotlin standardem mobilního programování na systému Android.
Pro iOS (Apple) je základem jazyk Swift - ten ovšem vidíme fakticky jen tam.
Neuplatní se ve většině skutečně malých a low-power zařízení (kategorie Arduino, 8bitové kontrolery apod.)
Lze ji použít pro zařízení třídy Raspberry Pi (32bitová)
Ve variantě jazyka Java Card se používá pro vývoj bezpečných aplikací pro chytré karty.
Java SE (Standard Edition) - pro běžná i serverová použití na běžných "plných" platformách (Linux, Mac OS, Win) - Java SE at a Glance
Java EE (Enterprise Edition) - kromě samotného běhového prostředí (JVM) zahrnuje také množství dalších API. Existuje 20 implementací (aplikačních serverů) Java EE, jako je GlassFish Server, IBM WebSphere Application Server, Red Hat JBoss Enterprise Application Platform a další. Java EE at a Glance
Java ME (Micro Edition) - do přenosných, vestavěných a malých zařízení (mobily, televizory, IoT) - Java ME přehled
Java Card - platforma pro bezpečné chytré karty - je odlišné nejen API (knihovní třídy), ale i jazyk
Na běh Java programů stačí mít nainstalováno JRE (Java Runtime Environment).
Na vývoj Java aplikací je nutné mít nainstalován JDK (Java Development Kit).
Navíc je třeba nainstalovat IDE (Integrated Development Environment), Maven, Git apod.
Připravili jsme pro vás tutoriál, jak Javu nainstalovat. |
Na stránkách https://www.java.com/download/ je dostupná Oracle Java SE pro všechny platformy.
Pro testovací, vývojové, demonstrační nekomerční využití je Java SE zdarma.
Pro komerční provoz je Oracle Java placená. Licenční poplatky se liší dle způsobu nasazení (desktop až cloud) od cca $2.5 do $25 měsíčně na jeden procesor a zahrnuje podporu - podobně jako např. RHEL.
Pro plné využití zdarma je možné sáhnout po OpenJDK (Oracle’s free, GPL-licensed, production-ready JDK)
Stav k listopadu 2023:
Java Standard Edition 22 je aktuální "ostrou" verzí typu LTS
Aktuální informace najdete vždy na webu Oracle Oracle Technetwork/Java.
K předpokládanému vývoji a podpoře existuje Oracle Java SE Support Roadmap