Návrh Školení

Úvod do Java

  • Historie a vývoj Java
  • Přehled Java verzí a aktualizací
  • Co je nového v Java 17
  • Nastavení Java Development Kit (JDK 17) a IDE

Java Struktura programu

  • Psaní jednoduchého Java programu
  • Java přehled syntaxe
  • Kompilace a spouštění Java aplikací

Datové typy a proměnné

  • Primitivní datové typy a obalové třídy
  • Deklarování proměnných a konstant
  • Typová konverze a odlévání

Operátoři v Java

  • Aritmetické, relační, logické a bitové operátory
  • Přednost a asociativita operátorů

Výkazy kontrolního toku

  • Podmíněné příkazy (if-else, switch)
  • Opakování konstrukcí (for, while, do-while)
  • Vylepšené výrazy přepínačů (funkce Java 17)

Úvod do konceptů OOP

  • Třídy a objekty
  • Zapouzdření, dědičnost, polymorfismus a abstrakce

Vytváření tříd a objektů

  • Deklarace a inicializace objektů
  • Toto klíčové slovo
  • Konstruktory (výchozí a parametrizované)

Dědictví

  • Rozšíření tříd (rozšíří klíčové slovo)
  • Přepsání metody a super klíčové slovo
  • Abstraktní třídy a metody

Polymorfismus

  • Polymorfismus v době kompilace vs
  • Přetěžování a přepisování metody

Rozhraní

  • Definování a implementace rozhraní
  • Funkční rozhraní a výchozí metody

Záznamové třídy (funkce Java 17)

  • Porozumění záznamům v Java 17
  • Jak záznamy zjednodušují zapouzdření dat

Generika v Java

  • Pochopení parametrů typu
  • Obecné třídy, metody a rozhraní
  • Ohraničené typy a zástupné znaky

Zpracování výjimek

  • Typy výjimek (zaškrtnuté a nezaškrtnuté)
  • Zkuste-chytit-konečně bloky
  • Házení a chytání výjimek
  • Vytváření vlastních výjimek

Java Collections Framework

  • Rozhraní seznamu, nastavení, mapy a fronty
  • Populární implementace: ArrayList, HashMap, HashSet
  • Iterátory a vylepšené smyčky for

Lambda Expressionty a funkční Programming

  • Úvod do lambda výrazů
  • Syntaxe a použití
  • Funkční rozhraní

Stream API

  • Přehled Java Streamů
  • Streamové operace (filtrování, mapování, redukce)
  • Paralelní proudy a aspekty výkonu

Uzavřené třídy

  • Definování a používání uzavřených tříd
  • Povolené podtřídy a omezení

Shoda vzoru pro instanceof (Java 17 funkce)

  • Zjednodušení typových kontrol pomocí shody vzorů

Textové bloky

  • Práce s víceřádkovými textovými bloky v Java
  • Srovnání s tradiční manipulací se strunou

Vylepšení záznamů a serializace

  • Serializace a zpětná kompatibilita
  • Jak záznamy zlepšují čitelnost kódu a údržbu

Ukončení podpory a odstranění funkcí

  • Zastaralá API v Java 17
  • Odstranění zastaralých funkcí

Switch Expression Enhancements

  • Shoda vzoru ve spínači
  • Použití výrazů přepínače pro čistší kód

Foreign Function & Memory API (Inkubátor)

  • Přehled modulu inkubátoru
  • Práce s nativním kódem v Java

Java Modulový systém (skládačka projektu)

  • Úvod do modulů v Java
  • Vytváření a používání modulů
  • Deskriptory modulů a module-info.java
  • Výhody modularizace

Souběžnost a vícevláknové zpracování

  • Úvod do vláken a multithreadingu
  • Runnable interface a Callable interface
  • Synchronizace, zámky a bezpečnost vláken

Asynchronní Programming s CompetableFuture

  • Psaní asynchronního kódu
  • Použití CompetableFuture pro neblokující operace

Nasazování Java aplikací

  • Vytváření a spouštění souborů JAR
  • Balení a distribuce Java aplikací
  • Úvod do GraalVM (volitelné)

Nejlepší postupy a optimalizace kódu

  • Psaní efektivního a udržovatelného Java kódu
  • Běžná výkonnostní úskalí a jak se jim vyhnout
  • Techniky refaktorování kódu

Shrnutí a další kroky

Požadavky

  • Základní znalosti v programování

Publikum

  • Vývojáři softwaru
  • Programátoři
 35 hodiny

Počet účastníků


Price per participant

Reference (5)

Upcoming Courses

Související kategorie