Wielowątkowość w Javie

Tytuł: Wielowątkowość w Javie
Kod: advanced-multi
Kategoria: Zaawansowana Java
Forma: 1/3 wykład a w 2/3 ćwiczenia praktyczne z poznanych mechanizmów
Czas trwania: 1 dzień
Odbiorcy: developerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Wspólnie poznamy podstawowe mechanizmy wielowątkowości w Javie.

Nauczymy się jak zrównoleglać istniejący kod, jak przyśpieszyć przetwarzanie i kiedy wielowątkowość da najlepsze rezultaty. Oraz, co najważniejsze, jak diagnozować i debugować taki kod i kiedy nie warto inwestować w wielowątkowość.

Poznamy podstawowe narzędzia, którymi dysponuje biblioteka standardowa w Javie. Szczególny nacisk położymy na pule wątków, kolejki oraz mechanizmy synchronizacji. Dowiemy się też, dlaczego architektura współczesnych komputerów ma taki wpływ na wielowątkowość.

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Architektura komputerów
    1. Procesor, rdzenie, cache L1/L2
    2. Proces a wątek, zielony wątek i kontynuacja
  2. Co to jest bezpieczeństwo wątkowe?
    1. Lost updates
    2. Widoczność
  3. Wątki
  4. Pule wątków
    1. ExecutorService
    2. Porady dot. konfiguracji
    3. ScheduledExecutorService
    4. ForkJoinPool
  5. Przerywanie i anulowanie zadań
    1. InterruptedException
    2. Anulowanie
  6. Monitorowanie i instrumentacja
    1. Metryki
    2. Tracing
    3. Problem zgubionego stosu wywołań
  7. Synchronizacja
    1. volatile
    2. Busy waiting
    3. synchronized
    4. Locki
      1. Semaphore
      2. ReentrantLock
      3. ReadWriteLock
      4. CountDownLatch
  8. Struktury danych
    1. Kolejki
    2. Klasy Atomic*
    3. ConcurrentHashMap
    4. Parallel streams
  9. CompletableFuture
    1. Podstawy programowania reaktywnego
  10. Zalety i koszty
    1. Koszt tworzenia wątku
    2. Koszt utrzymania wątku
  11. Java memory model
    1. Double-checked locking


Pobierz program w formacie PDF

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

  • Co każdy programista Java powinien wiedzieć o JVM: Część I
    KATEGORIE: Java i JVM

    Artykuł jest pierwszym krokiem do wnętrza "czarnego pudełka" - JVM.

    Autor Bottega:

    Jakub Kubryński

    Powiązane usługi:

    Audyty architektury

  • Co każdy programista Java powinien wiedzieć o JVM: Część II
    KATEGORIE: Java i JVM

    Zarządzanie pamięcią.

    Autor Bottega:

    Jakub Kubryński

    Powiązane usługi:

    Audyty architektury

  • Wydajnośc JPA i Hibernate - Dlaczego u mnie działa tak wolno?
    KATEGORIE: Java i JVM

    Artykuł poświęcony problemom wydajności Hibernate. Materiały (pdf) z prezentacji wygłoszonej na konferencji NYAC 2010.

    Autor Bottega:

    Sławomir Sobótka

    Powiązane usługi:

    Audyty architektury

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.