Szkolenie: Nowoczesna Java
Szkolenie Nowoczesna Java to praktyczny kurs dla programistów, który prezentuje najnowsze funkcje języka Java, zmiany w ekosystemie, strategie migracji, zarządzanie wersjami JDK oraz nowoczesne podejście do programowania i projektowania aplikacji Java
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:2 dni (16h)
Kod kursu:J/MODERN
Nowoczesna Java
Cele szkolenia
Szkolenie przygotowuje do samodzielnego wdrażania i wykorzystywania nowych funkcji języka Java w codziennej pracy programistycznej
Szkolenie uczy stosowania nowoczesnych konstrukcji składniowych, API oraz narzędzi wspierających rozwój i utrzymanie aplikacji Java
Szkolenie pokazuje, jak efektywnie zarządzać wieloma wersjami JDK oraz świadomie wybierać dystrybucje z uwzględnieniem aspektów licencyjnych
Szkolenie omawia strategie migracji projektów do nowszych wersji Java, z naciskiem na kompatybilność, refaktoryzację i optymalizację kodu
Szkolenie rozwija umiejętność projektowania modularnych i wydajnych aplikacji z wykorzystaniem najnowszych rozwiązań platformy Java
Dla kogo?
Programistów Java z doświadczeniem w pracy z wcześniejszymi wersjami języka, chcących poznać nowości i dobre praktyki
Osób odpowiedzialnych za rozwój, utrzymanie lub migrację aplikacji Java w środowiskach produkcyjnych
Developerów pragnących zwiększyć efektywność pracy poprzez wykorzystanie najnowszych funkcji i narzędzi ekosystemu Java
Efekty kształcenia
Uczestnik wdraża nowoczesne konstrukcje języka Java w projektach programistycznych
Uczestnik analizuje i porównuje różne wersje JDK oraz zarządza ich instalacją
Uczestnik projektuje aplikacje z wykorzystaniem modularności i nowych API
Uczestnik optymalizuje kod pod kątem wydajności i kompatybilności
Uczestnik stosuje strategie migracji do nowszych wersji Java
Uczestnik wykorzystuje narzędzia wspierające rozwój i utrzymanie aplikacji
Wymagania
Umiejętność programowania w języku Java
Podstawowa znajomość konsoli w systemie Windows/Linux
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 szkolenia
Nowoczesna Java
Podsumowanie kluczowych zmian w języku na poziomie poszczególnych wersji Javy
Aktualne wersje LTS - kalendarz wsparcia i strategia wyboru
Nowy cykl wydawniczy oraz jego wpływ na codzienny development
JDK a kwestie licencyjne
Wybór implementacji oraz wersji JDK
Wykorzystanie/zarządzanie wieloma wersjami JDK (SDKMAN, jenv, Chocolatey, Homebrew)
Strategie migracji
Cykl życia funkcji: experimental → incubator → preview → final
Istotne zmiany na poziomie języka i SDK
Zmiany składniowe - m.in. deklaracje z var, switch expression, try-with-resources, unnamed variables i unnamed patterns
Compact Source Files i Instance Main Methods (JEP 512, finalne w Java 25) - uproszczona ścieżka wejścia w język i pisanie skryptów
Module Import Declarations (JEP 511, finalne w Java 25)
Elastyczne ciała konstruktorów (Flexible Constructor Bodies, JEP 513, finalne w Java 25)
Zmiany w klasie String i nowych API tekstowych
Lambdy, interfejsy funkcyjne oraz strumienie
Stream gatherers (JEP 485, finalne w Java 24)
Typy opcjonalne
Rekordy i klasy zapieczętowane
Pattern matching (instanceof, switch, record patterns)
Pattern matching dla typów prymitywnych (JEP 530, czwarty preview w Java 26)
System modułów JPMS (project Jigsaw)
Wybrane zmiany na poziomie API
Programowe parsowanie plików klas - Class-File API (JEP 484, finalne w Java 24, opcjonalnie)
Współbieżność i wydajność
Lekkie wątki (Virtual Threads, project Loom) - finalne w Java 21, dalsze usprawnienia w Java 24/25
Structured Concurrency (JEP 505/JEP 519, kolejne preview w Java 25/26) - pisanie współbieżnego kodu w stylu synchronicznym
Scoped Values (JEP 506, finalne w Java 25) - nowoczesna alternatywa dla ThreadLocal
Lazy Constants (JEP 502 jako Stable Values w Java 25, JEP 528 jako Lazy Constants w Java 26) - leniwa, bezpieczna wątkowo inicjalizacja
Project Leyden - AOT class loading & linking, AOT method profiling (JEP 515), AOT object caching (JEP 514, w Java 26 rozszerzone na każdy GC w JEP 516)
Compact Object Headers (JEP 519, finalne w Java 25) - redukcja zużycia pamięci
Generational Shenandoah GC (JEP 521, finalne w Java 25), poprawki wydajności G1 GC (JEP 522 w Java 26)
Bezpieczeństwo i kryptografia
PEM Encodings of Cryptographic Objects (JEP 470/JEP 524, kolejny preview) - nowoczesne API do obsługi certyfikatów i kluczy
Key Derivation Function API (JEP 510, finalne w Java 25)
Post-Quantum Cryptography - ML-KEM (JEP 496) i ML-DSA (JEP 497) z Java 24, post-quantum hybrid key exchange dla TLS 1.3 (JEP 527)
HPKE (Hybrid Public Key Encryption) - wsparcie w Java 26
Post-quantum ready JAR signing (Java 26)
JEP 500: Prepare to Make Final Mean Final - warning'i przy mutowaniu final fields przez deep reflection (Java 26)
Inne nowości i porządkowanie platformy
HTTP/3 w HttpClient (JEP 517, Java 26)
JFR CPU-Time Profiling (JEP 509, eksperymentalne w Java 25)
Vector API (JEP 508/JEP 529, kolejne incubation) - przygotowanie pod Project Valhalla
Usunięcie Applet API i Thread.stop() w Java 26
Aktualizacje Unicode 17, CLDR v48, dark mode w javadoc (Java 26)
Co czeka nas w przyszłości?
Project Valhalla - Value Classes and Objects (JEP 401)
Dalsze etapy: Project Leyden, Project Loom i Project Babylon
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi



