Trwają zapisy do grupy

Zaawansowane aspekty języka Java

Szkolenie obejmuje zaawansowane programowanie we współczesnym wydaniu języka Java z naciskiem na optymalizację.

2150 PLN+23% VAT (2644 PLN brutto / 1 os.)

Czas trwania szkolenia:2 dni (16h)

Poziom zaawansowania:

Kod kursu:J/EXT

java

Dostępne terminy

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

23 października
Trwają zapisy na szkolenie

Trener:

Mateusz Kamiński

Cena:

2150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

12 grudnia
Trwają zapisy na szkolenie

Trener:

Mateusz Kamiński

Cena:

2150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Dostępne terminy

Interesują Cię inne terminy?

Zaawansowane aspekty języka Java

Cele szkolenia

  • Nabycie umiejętności zaawansowanego programowania w Javie z uwzględnieniem nowości wprowadzanych do języka

  • Poznanie niuansów języka Java i ich wpływ na wydajność napisanego kodu

  • Zastosowanie technik i standardowo dostępnych narzędzi dla osiągnięcia jeszcze bardziej wydajnej aplikacji końcowej


Dla kogo?

  • 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


Zalety

  • Przekrojowe omawianie zagadnień oraz przykłady oparte o życiowe problemy

  • Promowanie obowiązujących konwencji i dobrych praktyk programistycznych

  • Minimalna teoria oparta na praktycznych przykładach i warsztatach

  • Praktyczna wiedza uwzględniająca zmiany wprowadzone w najnowszych wydaniach Javy


Wymagania

  • Podstawowa umiejętność programowania w języku Java


W cenie otrzymasz:

  • Materiały szkoleniowe

  • Certyfikat ukończenia szkolenia

  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Program

Pobierz program w PDF

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

  • (Opcjonalnie) Interpolacja Stringów oraz praktyczne tworzenie własnych implementacji String Template

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

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

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

Modularność Javy (JPMS)

  • 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

Rozszerzenia Języka Java z wykorzystaniem popularnych bibliotek (Opcjonalnie)

  • Lombok - zastosowanie zaawansowanych adnotacje @ExtensionMethod, @SuperBuilder, @Accessors

  • MapStruct - wykorzystanie jako konstruktor kopiujący / deep cloning

  • Jackson / Gson - nietypowe przypadki związane z serializacją obiektów do formatu JSON

Autorem szkolenia jest Mateusz Kamiński

Absolwent informatyki Instytutu Informatyki na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej, obecnie Engineering Manager w Sages. Przez wiele lat prowadził zespoły programistyczne wytwarzające współczesne oprogramowanie, kładąc przy tym nacisk na jakość i elastyczność tworzonych rozwiązań. Od kilku lat lider zespołu technicznego Sages, który to w niedługim czasie z niewielkiego startupu rozwinął się w software house. Od początków kariery był mentorem w zespołach programistycznych,…