Plan Szkolenia

Wstępne informacje o platformie JVM i języku Java, inne języki, krótka historia, zastosowania, literatura.

Omówienie środowiska programisty i instalacja oprogramowania:

  • JDK LTS 11 lub JDK 14 (do wyboru)
  • IntelliJ  Idea Ultimate (wersja trial)
  • Maven
  • Git

Podstawy Maven i Git

Podstawowe elementy języka Java

  • Klasa i metoda main
  • Typy proste i zmienne, zmienne var
  • Wyrażenia i operatory: przypisania, arytmetyczne, logiczne, porównania, bitowe
  • Instrukcje:
    • Warunkowa if i klauzula else
    • Wyboru switch (nowe możliwości w wersji 14)
    • Iteracyjne: for, foreach, while i do..while
    • break, continue, return

Podstawy programowania obiektowego

  • Klasy i ich składowe: pola i metody
  • Zmienne obiektowe i pojęcie referencji, instancji
  • Składowe statyczne
  • Klasa String i co odróżnia łańcuchy od innych obiektów
  • Tablice w Java
  • Modyfikatory zasięgu public i private oraz pakiety
  • Podstawowe klasy użytkowe: LocalDate, LocalTime, LocalDateTime, Locale, formatery i klasy numeryczne, wrappery typów prostych

Zaawansowane techniki obiektowe

  • Dziedziczenie klas i klasa Object
    • Przeciążanie metod
    • Polimorfizm i nadpisywanie metod
    • Typy kowariantne
    • Metody equals i hashCode
    • Obiekty niemutowalne i znaczenie słowa final
    • Modyfikator protected i dostęp pakietowy a hermetyzacja
  • Abstrakcje i interfejsy
    • Klasy i metody abstrakcyjne
    • Metody domyślne, statyczne i prywatne w interfejsach
    • Segregacja interfejsów
  • Klasy wewnętrzne i lokalne
    • Klasy wewnętrzne statyczne
    • Klasy zagnieżdżone
    • Klasy lokalne i anonimowe
  • Typy generyczne
    • Deklarowanie typów generycznych
    • Symbole ograniczeń dolnych i górnych
    • Wymazywanie typów
  • Elementy programowania funkcyjnego
  • Interfejs funkcyjny
  • Wyrażenia lambda
  • Przegląd interfejsów funkcyjnych z pakietu java.util.function

Wyjątki

  • Przechwytywanie wyjątków w bloku try..catch
  • Zgłaszanie wyjątków
  • Tworzenie własnych klas wyjątków

Kolekcje

  • Interfejsy Collection, List, Set, Map
  • Wybrane klasy implementujące kolekcje

Przetwarzanie funkcyjne kolekcji:

  • Strumienie:
    • Metody pośrednie
    • Metody terminalne
    • Cechy przetwarzania strumieni
    • Metody tworzenia strumieni
  • Klasa Optional

Podstawowe operacje IO

  • Strumienie i biblioteka IO, dekoratory strumieni
  • Zapis i odczyt danych tekstowych i obiektów serializowanych
  • Wybrane klasy z biblioteki NIO: Path, Files

Podstawy programowania wielowątkowego

  • Klasa Thread i cykl życia wątku
  • Interfejs Runnable
  • Poprawne metody zatrzymywania wątków
  • Synchronizacja a koordynacja wątków, blok lub metoda synchronizowana, typy atomowe
  • Klasa ExecutorService i rodzaje egzekutorów
  • Klasy Callable i Future

Moduły

  • Porównanie budowy aplikacji modularnej z niemodularną
  • Czym jest JPMS i definiowanie modułów
  • Tworzenie aplikacji opartej o moduły

Wstęp do frameworka Spring

  • Spring a JavaEE
  • Terminy IoC i DI
  • Architektura aplikacji webowych
  • Podstawowe stereotypy w Spring i ich rola w architekturze
  • Tworzenie prostego serwisu REST i omówienie wybranych elementów Spring.

Wymagania

Znajomość dowolnego języka programowania (strukturalnego lub obiektowego).

 35 godzin

Liczba uczestników



Cena za uczestnika

Opinie uczestników (10)

Szkolenia Powiązane

Powiązane Kategorie