Aké sú verzie Javy?

Tu nájdete všetko, čo potrebujete vedieť o rôznych verziách a funkciách jazyka Java.

Aký je rozdiel medzi JRE a JDK?

Najprv je potrebné rozlišovať medzi JRE (Java Runtime Environment) a JDK (Java Development Kit).

V minulosti ste si JRE sťahovali len vtedy, ak ste mali záujem o programy v jazyku Java. JRE obsahuje okrem iného virtuálny stroj Java (JVM) a nástroj príkazového riadka "java".
Ak ste chceli vyvíjať nové programy v Jave, museli ste si stiahnuť JDK. JDK obsahuje všetko, čo je súčasťou JRE, ako aj kompilátor javac a niekoľko ďalších nástrojov, napríklad javadoc (generátor dokumentácie Java) a jdb (ladiaci program Java).

Až do Javy 8 webová lokalita spoločnosti Oracle ponúkala JRE a JDK na stiahnutie ako samostatné súbory, hoci JDK vždy obsahoval aj JRE v samostatnom priečinku. V Jave 9 tento rozdiel takmer zanikol a JDK si vždy stiahnete. Zmenila sa aj adresárová štruktúra JDK, pretože už neexistuje explicitný priečinok JRE.

Možnosti jazyka Java 8-18

Ako bolo spomenuté na začiatku tejto príručky: v podstate všetky (ak nie ste príliš vyberaví) funkcie jazyka Java 8 fungujú v jazyku Java 18. To isté platí aj pre všetky ostatné verzie jazyka Java.
Tu je stručný prehľad toho, čo ponúkajú jednotlivé verzie:

Java verze

Java 8

Java 8 bola veľmi rozsiahlou verziou a zoznam všetkých funkcií nájdete na lokalite spoločnosti Oracle.

Java 9

Java 9 bola tiež pomerne veľká verzia s niekoľkými doplnkami:

  • Kolekcie majú niekoľko nových pomocných metód na jednoduché vytváranie zoznamov, množín a máp.
  • Streamy dostali niekoľko doplnkov v podobe metód takeWhile, dropWhile a iterate.
  • Optionals dostali metódu ifPresentOrElse, ktorá veľmi chýbala.
  • Interfejsy dostali private metódy.
  • A niekoľko ďalších vylepšení, napríklad vylepšený príkaz try-with-resources alebo rozšírenia, JShell, HTTPClient a projekt Jigsaw: moduly Java a súbory Jar s viacerými verziami.

Java 10

V Jave 10 došlo k niekoľkým zmenám, napríklad v oblasti garbage collectora atď. Jedinou skutočnou zmenou je však pridanie kľúčového slova var, ktoré sa tiež nazýva odvodzovanie typu lokálnej premennej.

Java 11

Java 11 bola z pohľadu vývojárov tiež o niečo menšia verzia, tu je niekoľko zmien.

  • Reťazce a súbory získali niekoľko nových metód.
  • Výstupný typ lokálnej premennej (var) pre parametre lambda.
  • Flight Recorder, No-Op rubbish collector, Nashorn-Javascript-Engine vyhlásený za zastaraný atď.

Java 12

Java 12 má niekoľko nových funkcií a opráv, ale za zmienku tu stojí len podpora Unicode 11 a náhľad nového switch výrazu, o ktorom sa dozviete v nasledujúcej časti Java 13.

Java 13

Výrazy Switch teraz môžu vracať hodnotu. A pre svoje výrazy môžete používať syntax v štýle lambda bez problémov s chybami.
Viacriadkové riadky (náhľady).

Java 14

Zmeny v jazyku: Vylepšené prepínacie výrazy pre porovnávanie vzorov. Nová syntax odstraňuje potrebu operátora break, aby sa zabránilo výpadkom.
Zmeny boli vykonané aj v JVM.

Java 15

Aj v tejto verzii je len pár zmien.
Textové bloky, Nové metódy v triede String pre textové bloky. Vylepšenia výrazu Switch. Realizácia API socketov.

Java 16

Výrazy prepínania (štandardné). Porovnávanie vzorov pre inštanciu-of. Užitočné výnimky nulového ukazovateľa. Nástroj na balenie, prideľovanie pamäte s ohľadom na NUMA. Streamovanie eventu JFR.

Java 17

Edwards-Curve Digital Signature Algorithm(EdDSA), Sealed classes, Hidden classes, tiež Remove the Nashorn JavaScript Engine. Škálovateľný garbage collector s nízkou latenciou, rozhranie API pre externý prístup do pamäte.

Java 18

Rozhranie API vektorov, Povolenie funkcií jazyka C++14, Migrácia z Mercurial na Git, Súbežné spracovanie zásobníka vlákien, Elastický metapriestor.

Java 19

Java 19, ktorá bude vydaná v septembri, bude obsahovať štruktúrovaný paralelizmus, virtuálne vlákna, porovnávanie vzorov pre prepínanie výrazov, vektorové API a port pre Linux/RISC-V. Java Development Kit 19, ktorý bude tiež vydaný v rovnakom čase, je už pripravený a nachádza sa v druhej fáze rozširovania.

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí.

Stiahnite so náš ebook teraz výnimočne zdarma!!!

Cicso Lab v Bratislave

Mohlo by vás zaujímať:

Java TeamLeader Pripravený pomôcť.

Java TeamLeader

Online kurz programovania v Jave

Školenie-java-pre-začíatočnikov

Programovanie nie je ťažké! Kódenie vlastných appiek v nástroji Java je veľká zábava. Do konca leta programujete vy sami alebo vaše bystré deti svoje prvé appky

Ako začať programovať?

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí. Stiahnite so náš ebook teraz výnimočne zdarma!!!

Ovládnite GIT a GitHub z príkazového riadku ako hacker

Školenie-java-pre-začíatočnikov

Vyhraďte si deň-dva a naučte sa pracovať s GITom tak, že vám vaši kolegovia budú pozerať cez rameno, ako to do pekla robíte... od úplných základov cez praktické príklady.

7dňová výzva programovania Webu

7dňová výzva programovania Webu

Budete vedieť vytvárať pekné weby koncom budúceho týždňa? Áno, dá sa to! Radi vám s tým pomôžeme. Stačí prijať Sedemdňovú výzvu a rezervovať si tento kurz