Plan Szkolenia

Wprowadzenie do Java

  • Historia i ewolucja Java
  • Przegląd wersji i aktualizacji Java
  • Co nowego w Java 17
  • Konfiguracja Java Development Kit (JDK 17) i IDE

Struktura programu Java

  • Pisanie prostego Java programu
  • Przegląd składni Java
  • Kompilowanie i uruchamianie Java aplikacji

Typy danych i zmienne

  • Podstawowe typy danych i klasy opakowujące
  • Deklarowanie zmiennych i stałych
  • Konwersja typów i rzutowanie

Operatory w Java

  • Operatory arytmetyczne, relacyjne, logiczne i bitowe
  • Pierwszeństwo operatorów i asocjatywność

Instrukcje przepływu sterowania

  • Instrukcje warunkowe (if-else, switch)
  • Konstrukcje pętli (for, while, do-while)
  • Rozszerzone wyrażenia switch (funkcja Java 17)

Wprowadzenie do pojęć OOP

  • Klasy i obiekty
  • Enkapsulacja, dziedziczenie, polimorfizm i abstrakcja

Tworzenie klas i obiektów

  • Deklarowanie i inicjowanie obiektów
  • Słowo kluczowe this
  • Konstruktory (domyślne i parametryzowane)

Dziedziczenie

  • Rozszerzanie klas (słowo kluczowe extends)
  • Nadpisywanie metod i słowo kluczowe super
  • Klasy i metody abstrakcyjne

Polimorfizm

  • Polimorfizm w czasie kompilacji a polimorfizm w czasie wykonywania
  • Przeciążanie i nadpisywanie metod

Interfejsy

  • Definiowanie i implementowanie interfejsów
  • Interfejsy funkcjonalne i metody domyślne

Klasy rekordów (funkcja Java 17)

  • Zrozumienie rekordów w Java 17
  • Jak rekordy upraszczają enkapsulację danych

Generics w Java

  • Zrozumienie parametrów typu
  • Klasy generyczne, metody i interfejsy
  • Typy ograniczone i symbole wieloznaczne

Obsługa wyjątków

  • Rodzaje wyjątków (zaznaczone i niezaznaczone)
  • Bloki try-catch-finally
  • Rzucanie i przechwytywanie wyjątków
  • Tworzenie niestandardowych wyjątków

Java Struktura kolekcji

  • Interfejsy List, Set, Map i Queue
  • Popularne implementacje: ArrayList, HashMap, HashSet
  • Iteratory i rozszerzone pętle for

Lambda Express i Functional Programming

  • Wprowadzenie do wyrażeń lambda
  • Składnia i użycie
  • Interfejsy funkcjonalne

API strumieni

  • Przegląd Java Strumieni
  • Operacje na strumieniach (filtrowanie, mapowanie, redukcja)
  • Strumienie równoległe i kwestie wydajności

Klasy zamknięte

  • Definiowanie i używanie klas zamkniętych
  • Dozwolone podklasy i ograniczenia

Dopasowywanie wzorców dla instanceof (Java 17 feature)

  • Upraszczanie sprawdzania typów za pomocą dopasowywania wzorców

Bloki tekstowe

  • Praca z wielowierszowymi blokami tekstu w Java
  • Porównanie z tradycyjną obsługą ciągów znaków

Rekordy i ulepszenia serializacji

  • Serializacja i kompatybilność wsteczna
  • Jak rekordy poprawiają czytelność i konserwację kodu

Wycofywanie i usuwanie funkcji

  • Przestarzałe interfejsy API w Java 17
  • Usuwanie przestarzałych funkcji

Przełącznik Expressjon Ulepszenia

  • Dopasowywanie wzorców w switch
  • Używanie wyrażeń switch dla czystszego kodu

Funkcje obce i API pamięci (inkubator)

  • Przegląd modułu inkubatora
  • Praca z natywnym kodem w Java

Java System modułów (Project Jigsaw)

  • Wprowadzenie do modułów w Java
  • Tworzenie i używanie modułów
  • Deskryptory modułów i plik module-info.java
  • Zalety modularyzacji

Współbieżność i wielowątkowość

  • Wprowadzenie do wątków i wielowątkowości
  • Interfejs Runnable i interfejs Callable
  • Synchronizacja, blokady i bezpieczeństwo wątków

Asynchroniczność Programming z CompetableFuture

  • Pisanie kodu asynchronicznego
  • Używanie CompetableFuture do operacji nieblokujących

Wdrażanie Java aplikacji

  • Tworzenie i wykonywanie plików JAR
  • Pakowanie i dystrybucja Java aplikacji
  • Wprowadzenie do GraalVM (opcjonalnie)

Najlepsze praktyki i optymalizacja kodu

  • Pisanie wydajnego i łatwego w utrzymaniu Java kodu
  • Typowe pułapki wydajności i sposoby ich uniknięcia
  • Techniki refaktoryzacji kodu

Podsumowanie i kolejne kroki

Wymagania

  • Podstawowa wiedza z zakresu programowania

Uczestnicy

  • Twórcy oprogramowania
  • Programiści
 35 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie