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).
Opinie uczestników (10)
porównywanie zagadnień abstrakcyjnych - sciesle technicznych do rzeczywistości. przelozenie tego co widaćw normalym swiecie na jezyk programowania
Paweł Koniec
Szkolenie - Programowanie w języku Java
I like how the trainer explain the subject. Providing real life example is beneficial.
Rhearose Holonowicz
Szkolenie - Java Programming
możliwość rozwiązywania własnych problemów, podpowiedzi rozwiązań
Anna Klonowska
Szkolenie - Programowanie w języku Java
Indywidualne podejscie do sluchacza przez prowadzacego. Cierpliwosc i szeroka wiedza prowadzacego.
Damian Karbowski
Szkolenie - Programowanie w języku Java
LAB practice with exercises
Angel - Vodacom
Szkolenie - Java Programming
ćwiczenia praktyczne były świetne
Tshepo - Vodacom
Szkolenie - Java Programming
Przetłumaczone przez sztuczną inteligencję
Trener był zaangażowany i sprawił, że kurs był naprawdę interesujący i praktyczny.
Kesh - Vodacom
Szkolenie - Java Programming
Przetłumaczone przez sztuczną inteligencję
Tworzenie interfejsów API.
Tshifhiwa - Vodacom
Szkolenie - Java Programming
Przetłumaczone przez sztuczną inteligencję
Very professional training, it did help a lot that the trainer is skilled in the programing language.
Cosmin Rechisan - Aptiv Technology Services & Solutions
Szkolenie - Java Programming
Very friendly and helpful trainer, kept asking if anyone needed any help.