Zaawansowane aspekty języka Java
Zaawansowane aspekty języka Java
Informacje podstawowe
Informacje podstawowe
- KategoriaInformatyka i telekomunikacja / Programowanie
- Grupa docelowa usługi
Szkolenie jest dedykowane dla osób, które chcą poznać język Java na wyższym poziomie oraz dowiedzieć się, jakie są możliwości optymalizacji działania aplikacji z wykorzystaniem dostępnych narzędzi, i technik programistycznych
- Minimalna liczba uczestników4
- Maksymalna liczba uczestników8
- Data zakończenia rekrutacji21-08-2025
- Forma prowadzenia usługizdalna w czasie rzeczywistym
- Liczba godzin usługi16
- Podstawa uzyskania wpisu do BURCertyfikat systemu zarządzania jakością wg. ISO 9001:2015 (PN-EN ISO 9001:2015) - w zakresie usług szkoleniowych
Cel
Cel
Cel edukacyjny
Uczestnik tworzy (pisze) wydajny kod w języku Java z uwzględnieniem nowości wprowadzanych do języka przez ostatnie lataZna niuanse języka Java mające wpływ na wydajność działania aplikacji, efektem jest stworzenie wysokowydajnej aplikacji
Efekty uczenia się oraz kryteria weryfikacji ich osiągnięcia i Metody walidacji
Efekty uczenia się | Kryteria weryfikacji | Metoda walidacji |
---|---|---|
Efekty uczenia się Uczestnik wykorzystuje techniki i używa narzędzi pozwalających na osiągnięcie zakładanych celów wydajnościowych, stosuje nowości programistyczne, wprowadzone w ostatnim czasie do Wirtualnej Maszyny Javy. Bada wydajność, stroi i programuje wysokowydajne aplikacje w języku Java. | Kryteria weryfikacji Uczestnik stworzył realny projekt, który można wygodnie udostępnić, skomentować i zaprezentować. | Metoda walidacji Obserwacja w warunkach rzeczywistych |
Metoda walidacji Test teoretyczny |
Kwalifikacje i kompetencje
Kwalifikacje
Kompetencje
Usługa prowadzi do nabycia kompetencji.Warunki uznania kompetencji
Program
Program
Krótki przegląd istotnych nowości w języku Java
Zaawansowane aspekty praktycznego użycia Javy
- Zasady tworzenia własnych adnotacji i ich procesowanie z wykorzystaniem refleksji
- Typy generyczne z operatorami extend / super / &
- Typy wyliczeniowe jako obiekty typu Singleton lub fabryki obiektów
- Wprowadzenie do typów zapieczętowanych (sealed types) i ich praktyczne zastosowanie
Programowanie funkcyjne w Javie
- Zasady programowania funkcyjnego jako podstawa współczesnego programowania
- Lambdy i interfejsy funkcyjne
- Typowe błędy w tworzeniu typów niemutowalnych w Javie
- Rekordy a ich zastosowanie w programowaniu funkcyjnym
- Pattern matching z wykorzystaniem konstrukcji if / switch oraz typów zapieczętowanych
- Typowe błędy podczas używania typów Optional / Stream
- Prymitywne odpowiedniki strumieniu i interfejsów funkcyjnych
- NIO a funkcyjność
- Budowanie zaawansowanego procesowania danych z wykorzystaniem strumieni i złożonych kolektorów
- Obiektowe wzorce projektowe a programowanie funkcyjne
Wirtualne wątki
- Porównanie wątków fizycznych i wirtualnych
- Potencjalne problemy w używaniu wirtualnych wątków
- Structured Concurrency - nowe spojrzenie na programowanie asynchroniczne w Javie
- Popularne frameworki a wirtualne wątki
Rozszerzenia Języka Java z wykorzystaniem popularnych bibliotek
- Lombok - zastosowanie zaawansowanych adnotacji @ExtensionMethod, @SuperBuilder, @Accessors, @Wither
- MapStruct - wykorzystanie jako konstruktor kopiujący / deep cloning
- Jackson / Gson - nietypowe przypadki związane z serializacją obiektów do formatu JSON
Optymalizacja obliczeń
- Wołanie natywnych aplikacji z wykorzystaniem Process API oraz Foreign Linker API
- Optymalizowanie procesowania Stringów w różnych praktycznych scenariuszach
- Vector API jako alternatywa dla bezpośredniego paralelizmu
JMPS - Modularność Javy (Opcjonalnie)
- Wprowadzenie do JPMS
- Problemy we wprowadzaniu modułów do istniejących aplikacji
- Budowanie własnych, zoptymalizowanych obrazów JVM
- Budowanie modularnych aplikacji z wykorzystaniem serwisów
Harmonogram
Harmonogram
Przedmiot / temat zajęć | Prowadzący | Data realizacji zajęć | Godzina rozpoczęcia | Godzina zakończenia | Liczba godzin |
---|---|---|---|---|---|
Przedmiot / temat zajęć 1 z 2 Krótki przegląd istotnych nowości w języku Java, Zaawansowane aspekty praktycznego użycia Javy, Programowanie funkcyjne w Javie, Wirtualne wątki | Prowadzący Mateusz Kamiński | Data realizacji zajęć 28-08-2025 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 17:00 | Liczba godzin 08:00 |
Przedmiot / temat zajęć 2 z 2 Rozszerzenia Języka Java z wykorzystaniem popularnych bibliotek, Optymalizacja obliczeń, JMPS - Modularność Javy (Opcjonalnie) | Prowadzący Mateusz Kamiński | Data realizacji zajęć 29-08-2025 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 17:00 | Liczba godzin 08:00 |
Cena
Cena
Cennik
Rodzaj ceny | Cena |
---|---|
Rodzaj ceny Koszt przypadający na 1 uczestnika brutto | Cena 2 644,50 PLN |
Rodzaj ceny Koszt przypadający na 1 uczestnika netto | Cena 2 150,00 PLN |
Rodzaj ceny Koszt osobogodziny brutto | Cena 165,28 PLN |
Rodzaj ceny Koszt osobogodziny netto | Cena 134,38 PLN |
Prowadzący
Prowadzący
Mateusz Kamiński
Od 5 lat lider zespołu programistycznego Sages.
Od 9 lat mentor w zespołach programistycznych, doświadczony wykładowca bootcampu z Java, aktualnie wykładowca zajęć projektowych z programowania aplikacji na Politechnice Warszawskiej.
Informacje dodatkowe
Informacje dodatkowe
Informacje o materiałach dla uczestników usługi
materiały szkoleniowe - część teoretyczna szkolenia, slajdy - zostaną udostępnione uczestnikom na szkoleniu w formie pdf.
uczestnik otrzyma certyfikat uczestnictwa z opisem nabytych umiejętności
Warunki uczestnictwa
Podstawowa umiejętność programowania w języku Java
Informacje dodatkowe
Szkolenie będzie prowadzone zdalnie, w czasie rzeczywistym, na żywo, z trenerem, możliwością zadawania pytań.
Szkolenie składa się w 30% z wykładu teoretycznego, w 70% z warsztatów i samodzielnej pracy programistycznej.
Podczas szkolenia uczestnicy mają dostęp do czatu z trenerem, współdzielą ekran podczas części warsztatowej, żeby zaprezentować postęp swojej pracy.
Walidacja będzie bazowała na ocenie efektów samodzielnej pracy uczestników, będzie sprawdzała nabytą wiedzę teoretyczną i umiejętność jej zastosowania w praktyce.
Warunki techniczne
Warunki techniczne
szkolenie na platformie zoom, wymagane:
stabilne połączenie internetowe (zalecane min. 10Mbit/s download i 1Mbit/s upload)
przeglądarka internetowa Chrome
zainstalowana aplikacja Zoom App
dobrej jakości słuchawki oraz mikrofon (opcjonalnie) kamera internetowa
link do szkolenia zostanie przesłany uczestnikom przed szkoleniem i będzie aktywny do końca szkolenia.