Java expert

Cieľ kurzu

Po absolvovaní kurzu budete mať v Jave väčšie znalosti ako priemerný java vývojár, získate vedomosti, ktoré môžete rozvíjať, aby ste sa stali veľmi dobrým java programátorom. Pri voľbe oblastí kurzu sme sa inšpirovali tvrdením Joshua Blocha, autora collection frameworku v štandardnej knižnice a zároveň bývalého šéfa javistov v Googli, že dôležité pre vývojára je poznať balíky java.lang, čiastočne java.util, java.io a java.util.concurrent, pričom v prípade potreby sa ostatné časti doučí. Preto veríme, že po kurze Vám získané vedomosti pomôžu, aby ste sa stali konkurencieschopnými v hocijakej Java oblasti, s čím samozrejme súvisí aj zvýšenie svojej ceny na trhu práce.

Čo sa na tomto kurze naučíte

Na školení sa budeme zaoberať pokročilými konštrukciami jazyka Java, medzi inými rôznymi typmi vnútorných tried, správnym používaním generík, či výnimiek. Podrobne si prejdeme jednotlivými triedami v collection frameworku a vysvetlíme si, v ktorých situáciach by sa mali používať. Ďalšiu časť prednášky sa budeme venovať multithreadingu, najprv si predstavíme samotné vlákna, vzájomnú komunikáciu až prejdeme k pokročilejším témam ako vhodne využiť produce consumer pattern, či balík java.util.concurrent.atomic. Nakoniec si povieme o detekcií a riešení problémov v živom prostredí.

Miesto, čas a cena

Štandardne školíme v centre Bratislave, presné miesto sa upresní dva týždne pred začatím kurzu. Školenie trvá dva dni, od 9. – 15. hodiny, maximálny počet účastníkov je 5. Cena školenia je 350€. V cene je zahrnuté občerstvenie. V prípade, že máte záujem o kurz vo vašej firme, kontaktujte nás. V tom prípade je školenie možné aj kdekoľvek na Slovensku a v Českej republike a je možné ho prispôsobiť vašim požiadavkám.

Osnova kurzu

Školenie pozostáva z teoretických a praktických častí. Vždy po skončení ucelenej teoretickej časti nasleduje praktická časť, v ktorej si účastníci kurzu môžu priamo vyskúšať nadobudnuté vedomosti, vďaka čomu budú schopní prezentované informácie hneď využívať v praxi.

Osnova

  1. Triedy
    • Implementovanie equals metódy
    • Vnútorné triedy
    • Statické vnútorné triedy
    • Anonymné triedy
    • Statement triedy
    • Rozhrania(aj nové možnosti v Java 8)
  2. Collection framework
    • Predstavenie rozhraní List, Set, Map, Queue, Deque
    • Rozdiely medzi
      • LinkedList, ArrayList, CopyOnWriteList
      • HashMap, LinkedHashMap, TreeMap, WeakHashMap, ConcurrentSkipListMap
      • HashSet, LinkedHashSet, TreeSet, ConcurrentSkipListSet
      • ArrayBlockingQueue, LinkedBlockingQueue, ConcurrentLinkedQueue
    • Triedenie
    • Iterovanie
    • Vyhľadávanie prvkov
    • Efektívnosť bežných operácií
      LinkedList, ArrayList, CopyOnWriteList
  3. Generické typy
    • Vytváranie tried využívajúce generické typy
    • Použitie super, extends
    • put get princíp
  4. Výnimky
    • Class Hierarchy
    • Princípy správneho použitia výnimiek
  5. Multi-Threading
    • Úvod do vlákien
    • Predstavenie vlákien
    • Zdieľanie premenných medzi vláknami
    • Konzistentné stavy v mutlivláknovom prostredí
    • Java Memory Model
    • Synchronized
    • Explicitné zámky
    • Vytváranie Thread safe objektov
    • Využitie pokročilých techník a objektov vo viacvláknovom prostredí
    • Executors
    • Semaphore
    • Blocking queues
    • Predstavenie balíka java.util.concurrent.atomic
    • Volatile
    • Zastavovanie vlákien
    • Problémy s vláknami
    • Vyhladovanie vlákien
    • Fairness
    • Deadlock
    • Livelock
  6. Novinky z Java 8
    • Defaultné metódy
    • Stream api
    • CompletableFuture
    • Phaser
  7. Riešenie problémov z praxe
    • OutOfMemoryError
    • Performance problémy v živom prostredí

Požiadavky na účastníkov

Od účastníkov sa očakáva aspoň základné praktické skúsenosti s Javou, napr. používanie bežných tried ako ArrayList, HashSet, vytváranie vlastných tried a využitie základných objektových programovacích techník ako dedičnosť, či polymorfizmus. Dobrou pomôckou, či je kurz vhodný pre Vás, je pozrieť si osnovu kurzu Java základy, z ktorého by ste mali väčšinu spomínaných oblastí poznať.

Čo budete potrebovať

Na toto školenie si so sebou prineste svoj vlastný notebook s nainštalovanou Javou 8. Ako vývojové prostredie odporúčame Ideu alebo Eclipse.

Zaujal Vás kurz?

Prihláste sa