Kategoria: Java
Szkolenie przedstawia wybrane elementy języka Java i platformy Standard Edition.
Ich zrozumienie pozwoli pracować bardziej efektywnie i tworzyć poprawne oraz wydajne rozwiązania; ułatwi też czytanie cudzego kodu i korzystanie z bibliotek programistycznych, jeśli akurat używają one tych technik.
Ważnym elementem szkolenia są techniki programowania funkcyjnego, które zostały wprowadzone w Java 8. Na szkoleniu staramy się zawsze informować o najnowszych ciekawostkach i odpowiadać na pytania uczestników.
Szkolenie obejmuje czysty język Java i standardowe klasy narzędziowe. Nie jest to szkolenie z frameworków Javy – zobacz inne szkolenia na liście.
Czas trwania
3 dni
Program
- Wybrane elementy obiektowości
- Model pamięci Javy
- Obszary pamięci w JVM
- Obiekty i referencje
- Inicjalizacja i koniec życia obiektu
- Wykorzystanie interfejsów w klasycznych wzorcach projektowych
- Strategie tworzenia obiektów: konstruktor, metoda statyczna, fabryka, builder
- Porównywanie i klonowanie obiektów
- Typy generyczne
- Rekordy (od Java 14)
- Model pamięci Javy
- Wątki i synchronizacja
- Tworzenie i zarządzanie wątkami
- Korzyści i ryzyka wielowątkowości
- Sposoby synchronizacji języka Java
- Klasy narzędziowe pakietu java.util.conurrent, w tym:
- Atomowe liczniki i tablice
- Blokady zwykłe i współdzielone
- Pule wątków
- Kolekcje w aplikacjach wielowątkowych
- Wyrażenia lambda
- Interfejsy funkcyjne
- Składnia i znaczenie wyrażeń lambda
- Referencje do metod
- Strumienie („stream API”)
- Czym jest i jak działa strumień
- Operacje strumieniowe:
- Generatory i źródła strumieni
- Operacje pośrednie: filter, map, flatMap, peek i inne
- Operacje terminalne: forEach, reduce, collect i inne
- Strumienie liczbowe i dodatkowe operacje
- Kolektory i agregacja danych; grupowanie
- Implementacja własnego kolektora
- Strumienie nieuporządkowane, uporządkowane, posortowane
- Strumienie równoległe
- Rola interfejsu Spliterator w wydajnym działaniu strumieni
- Wskazówki dot. tworzenia wydajnego kodu w Javie
- Czy tworzenie obiektów jest kosztowne?
- Właściwy dobór struktur danych (tablice, kolekcje różnego rodzaju, przetwarzanie strumieniowe)
- Techniki oszczędzania pamięci
Dla grup zamkniętych istnieje możliwość dostosowania programu do potrzeb klienta, w tym wydłużenie szkolenia do 4 dni lub elastyczny podział szkolenia na mniejsze bloki.
Training also available in English.
Przeznaczenie i wymagania
Szkolenie polecamy dla:
- programistów Java chcących dobrze poznać zasady działania języka i maszyny wirtualnej, w szczególności elementy wymienione w programie szkolenia,
- programistów, którzy pracowali ze starszymi wersjami języka Java i mieli dłuższą przerwę w kontakcie z tym językiem, a obecnie chcieliby nadrobić zaległości i poznać najciekawsze rzeczy dodane do języka na przestrzeni ostatnich lat,
- osób uczących się programowania w Javie, które opanowały już podstawy (np. na naszych kursach) i chcą nauczyć się dalszych szczegółów,
- studentów, którzy czują, że potrzebują uzupełnienia wiedzy po wykładach nt. Javy,
- osób przygotowujących się do certyfikacji Oracle (przy czym szkolenie obejmuje tylko część tematów wymaganych przez egzaminy).
Wymagane od uczestników są co najmniej podstawy programowania w języku Java (ewentualnie pokrewnym: C#, Kotlin) oraz sprawność w edycji kodu w wybranym IDE.
Programistów innych języków (np. PHP, Python, C++, PL/SQL) chcących nauczyć się Javy od podstaw zapraszamy na szkolenie Język Java dla programistów lub kurs Java FAST.
Osoby chcące uczyć się programowania w Javie jako pierwszym języku zapraszamy na kurs Programista Java.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.