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
Opinie uczestników (5)
Otrzymaliśmy również kompleksowy przegląd kontekstu - na przykład dlaczego potrzebujemy niektórych adnotacji i co one oznaczają. Podobała mi się praktyczna część szkolenia - konieczność ręcznego uruchamiania poleceń i wywoływania pozostałych api.
Alina - ACCENTURE SERVICES S.R.L
Szkolenie - Quarkus for Developers
Przetłumaczone przez sztuczną inteligencję
Dodatkowe informacje, które zostały podzielone, uczenie się nie było prostym matterplem, co było fajne. (Note: "groovy" doesn't have a direct translation in Polish that conveys the same meaning as in English. In this context, I've used "prostym matterplem," which is not literal but gives a sense of something being easy or straightforward.)
Covenant - Vodacom
Szkolenie - Groovy Programming
Przetłumaczone przez sztuczną inteligencję
trener może jasno wyяснić temat i odpowiadać na każde pytanie.
Hannah Mae Lubigan - Security Bank Corporation
Szkolenie - Advanced Spring Boot
Przetłumaczone przez sztuczną inteligencję
Styl szkolenia i trener pomagają rozwiązać problemy występujące podczas ćwiczeń.
Carl Angelo Gonzales - Security Bank Corporation
Szkolenie - Spring Boot for Beginners
Przetłumaczone przez sztuczną inteligencję
The range of topics covered was quite extensive and the trainer made an effort to do them justice.
Lakshmipriya Sivakumar - Deque Systems Inc
Szkolenie - Spring Boot, React, and Redux
Przetłumaczone przez sztuczną inteligencję