Kód kurzu: JPROG1_5« Krok zpět

Java SE – programování II

Jedná se o navazující kurz na JPROG1 - Java SE – programování I. V první části se probírají složitější jazykové konstrukty v Javě. Především ty, které přibyly do Javy ve verzi 5 (generics) a 8 (odkazy na metody, lambda výrazy). Druhá část kurzu se zabývá novějšími třídami knihovny Java SE 5 až 8, především java.util.concurrent, Date/Time API (java.time), File New I/O (java.io.file), Stream API (java.util.stream). Kurz je vhodný pro mírně zkušené javové programátory a pro programátory, kteří chtějí přejít z jiných objektově orientovaných programovacích jazyků (jako je C++, JavaScript, Delphi, Python). Na kurzu se programuje v prostředí IntelliJ IDEA, Eclipse nebo NetBeans (podle přání většiny studentů) nad Oracle JDK 8.

 DatumDnůCena kurzuCena materiálůJazyk výukyLokalita 
GTK 17.6.2019 5 36 000 CZK v ceně kurzu Český jazyk GOPAS Praha
 
16.9.2019 5 36 000 CZK v ceně kurzu Český jazyk GOPAS Praha_GTT (info o GTT)
 
2.12.2019 5 36 000 CZK v ceně kurzu Český jazyk GOPAS Praha_GTT (info o GTT)
 
16.9.2019 5 36 000 CZK v ceně kurzu Český jazyk GOPAS Brno_GTT (info o GTT)
 
2.12.2019 5 36 000 CZK v ceně kurzu Český jazyk GOPAS Brno_GTT (info o GTT)
 
16.9.2019 5 1 300,00 EUR v ceně kurzu Slovenský jazyk GOPAS Bratislava_GTT (info o GTT)
 
2.12.2019 5 1 300,00 EUR v ceně kurzu Slovenský jazyk GOPAS Bratislava_GTT (info o GTT)
 

PobočkaDnůCena kurzuCena materiálůITB
Praha5 36 000 CZK v ceně kurzu 50
Brno5 36 000 CZK v ceně kurzu 50
Bratislava5 1 300,00 EUR v ceně kurzu 50

Pro koho je kurz určen

  • Programátory juniory, kteří již mají zkušenosti s jazykem Java
  • Zkušené programátory v jiných jazycích, jako je JavaScript, C++, Ruby nebo Python
  • Testery pracující s Javou
  • Databázové odborníky

Co Vás naučíme

  • Vnitřní třídy (statické, instanční, lokální, anonymní)
  • Návrhové vzory - tovární metoda, jedináček a neměnitelný objekt
  • Lambda výrazy a odkazy na metody (invokedynamic)
  • Kolekce a Stream API
  • Java Date/Time API (balík java.time)
  • File New I/O 2 (balík java.io.file)
  • Vlákna, Fork/Join framework (balík java.util.concurrent)
  • Lokalizování aplikace, Locale, MessageFormat

Požadované vstupní znalosti

Je nutné znát běžné jazykové konstrukce v Javě a mít alespoň několikaměsíční praxi s programováním v Javě. Je třeba ovládat dědičnost, interfaces a výjimky. Očekává se také znalost běžně používaných tříd z knihovny Java SE, například String, StringBuilder, List, Map.

Metody výuky

Odborný výklad s praktickými ukázkami, cvičení na počítačích

Osnova kurzu

Přehled Javy, Java SE, Java EE, Android

  • Co je JDK, JRE, JVM
  • Ekosystém Javy, JavaScriptu, databází

Oživení běžně používané syntaxe Javy

  • Primitivní typy
  • Třídy
  • Metody a členské proměnné
  • Statické metody
  • Pole

Zapouzdření, dědičnost

  • Konstruktory, vlastnosti
  • Přetěžování metod
  • Neměnitelné objekty
  • Operátor instanceof

Polymorfismus

  • Viditelnost private, (default), protected, public
  • Překrývání metod
  • Návrhový vzor Singleton

Lambda výrazy

  • Definice lambda výrazu
  • Anonymní vnitřní třída
  • Odkaz na metodu

Kolekce a generics

  • Seznamy, třída ArrayList
  • Množiny, třída HashSet, LinkedHashSet a TreeSet
  • Asociativní pole a rozhraní Map
  • Fronta a ArrayDeque

Kolekce, lambda výrazy a Stream API

  • forEach(), replaceAll(), removeIf()
  • stream()
  • Filtrování
  • Mapování
  • Sestavování pipeline

Rozhraní pro práci s lambda výrazy

  • Function, UnaryOperator
  • Řazení a Comparator
  • Collectors

Výjimky

  • try/catch, výcenásobný catch, try/finally
  • try with resources
  • Assertions

Datum a čas

  • Přehled balíku java.time
  • LocalDate, LocalTime, LocalDateTime
  • Časové zóny, zimní čas/letní čas
  • Formátování data a času do textu

File NIO.2

  • Rozhraní Path a FileSystem
  • Třída Files a služby pro práci se soubory

Vlákna a souběžnost

  • Vlákna, třída Thread, rozhraní Runnable
  • Executor, ExecutorService
  • Vzájemné vyloučení, zámky (Lock, ReentrantLock)
  • Kolekce v java.util.concurrent

Fork-Join Framework

  • Rozděl a panuj
  • RecursiveTask, RecursiveAction
  • Implementace hledání maxima/minima, řazení
  • Paralelní streamy

Lokalizace aplikací

  • Jazyk uživatele (Locale)
  • Externalizace textů a ostatních prostředků (ResourceBundle)
  • Formátování výstupu pomocí NumberFormat, DateFormat, MessageFormat
Tištěné nebo elektronické studijní materiály GOPAS

Cena:
v ceně kurzu
Uvedené ceny jsou bez DPH.