Zde najdete vše, co potřebujete vědět o různých verzích a funkcích jazyka Java.
Nejprve je třeba rozlišovat mezi JRE (Java Runtime Environment) a JDK (Java Development Kit).
V minulosti jste si JRE stahovali pouze tehdy, pokud jste měli zájem o programy v jazyce Java. JRE obsahuje mimo jiné virtuální stroj Java (JVM) a nástroj příkazového řádku "java".
Pokud jste chtěli vyvíjet nové programy v Javě, museli jste si stáhnout JDK. JDK obsahuje vše, co je součástí JRE, jakož i kompilátor javac a několik dalších nástrojů, například javadoc (generátor dokumentace Java) a jdb (ladící program Java).
Až do Javy 8 web společnosti Oracle nabízel JRE a JDK ke stažení jako samostatné soubory, přestože JDK vždy obsahoval i JRE v samostatné složce. V Javě 9 tento rozdíl téměř zanikl a JDK si vždy stáhnete. Změnila se také adresářová struktura JDK, protože již neexistuje explicitní složka JRE.
Jak bylo zmíněno na začátku této příručky: v podstatě všechny (pokud nejste příliš vybíraví) funkce jazyka Java 8 fungují v jazyce Java 18. Totéž platí i pro všechny ostatní verze jazyka Java.
Zde je stručný přehled toho, co nabízí jednotlivé verze:
Java 8 byla velmi rozsáhlou verzí a seznam všech funkcí naleznete na webu společnosti Oracle.
Java 9 byla také poměrně velká verze s několika doplňky:
V Javě 10 došlo k několika změnám, například v oblasti garbage collectora atp. Jedinou skutečnou změnou je však přidání klíčového slova var, které se také nazývá odvozování typu lokální proměnné.
Java 11 byla z pohledu vývojářů také o něco menší verze, zde je několik změn.
Java 12 má několik nových funkcí a oprav, ale za zmínku zde stojí jen podpora Unicode 11 a náhled nového switch výrazu, o kterém se dozvíte v následující části Java 13.
Výrazy Switch nyní mohou vracet hodnotu. A pro své výrazy můžete používat syntaxi ve stylu lambda bez problémů s chybami.
Víceřádkové řádky (náhledy).
Změny v jazyce: Vylepšené přepínací výrazy pro porovnávání vzorů. Nová syntax odstraňuje potřebu operátora break, aby se zabránilo výpadkům.
Změny byly provedeny iv JVM.
I v této verzi je jen pár změn.
Textové bloky, Nové metody ve třídě String pro textové bloky. Vylepšení výrazu Switch. Realizace API socketů.
Výrazy přepínání (standardní). Porovnávání vzorů pro instanci-of. Užitečné výjimky nulového ukazatele. Nástroj na balení, přidělování paměti s ohledem na NUMA. Streamování eventu JFR.
Edwards-Curve Digital Signature Algorithm(EdDSA), Sealed classes, Hidden classes, také Remove the Nashorn JavaScript Engine. Škálovatelný garbage collector s nízkou latencí, rozhraní API pro externí přístup do paměti.
Rozhraní API vektorů, Povolení funkcí jazyka C++14, Migrace z Mercurial na Git, Souběžné zpracování zásobníku vláken, Elastický metaprostor.
Java 19, která bude vydána v září, bude obsahovat strukturovaný paralelismus, virtuální vlákna, porovnávání vzorů pro přepínání výrazů, vektorové API a port pro Linux/RISC-V. Java Development Kit 19, který bude také vydán ve stejnou dobu, je již připraven a nachází se ve druhé fázi rozšiřování.