Udemyallpl

Warsztat Java #18 - Concurrency

Master Java concurrency! Learn about atomic classes, parallel streams, thread pools, and thread safety to solve multithreading challenges.

3students
40m
Certificate
Zajavka PL
Zajavka PLNauka Javy od podstaw

Course Content

Warsztat Java #18 - Concurrency is an all-levels Udemy course taught by Zajavka PL. It runs 40m, is taught in Polish, and includes a certificate of completion. 3 students have enrolled. It is a paid course, last updated January 2025.

Poznaj potęgę współbieżności w Javie! Dowiedz się, jak pisać aplikacje, które wykonują wiele zadań jednocześnie, zwiększając wydajność i responsywność. Ten kurs, część ścieżki Zajavka, skupia się na teoretycznych aspektach programowania współbieżnego, prezentowanych w formie tekstowej.

Współbieżność w Javie: Kompleksowy Przewodnik

  • Wprowadzenie do Współbieżności: Zrozumienie podstawowych pojęć, takich jak współbieżność i jej znaczenie w nowoczesnym programowaniu.
  • Wątki vs. Procesy: Rozróżnienie między wątkami a procesami – kluczowe dla efektywnego zarządzania zasobami.
  • Zalety i Wady Współbieżności: Analiza korzyści (np. zwiększona wydajność) i wyzwań (np. złożoność) związanych z programowaniem wielowątkowym.
  • Współbieżność a Równoległość: Wyjaśnienie różnic między tymi dwoma pojęciami i kiedy używać każdego z nich.

Tworzenie i Zarządzanie Wątkami w Javie

  • Tworzenie Wątków: Nauka praktycznych metod tworzenia własnych wątków w Javie.
  • Problemy Wielowątkowości: Identyfikacja i rozwiązywanie typowych problemów, takich jak:
    • Race Condition: Unikanie konfliktów dostępu do danych przy użyciu mechanizmów takich jak synchronized, lock, i ThreadLocal.
    • Deadlock: Rozpoznawanie i zapobieganie sytuacjom, w których wątki blokują się nawzajem.
    • Livelock: Unikanie sytuacji, w których wątki nieustannie zmieniają stan, nie wykonując żadnej pracy.
    • Starvation: Zapobieganie sytuacji, w której niektóre wątki są stale pozbawiane możliwości wykonania.
  • Zarządzanie Pamięcią w Kontekście Wielowątkowości: Zrozumienie, jak Java zarządza pamięcią w środowisku wielowątkowym.
  • Słowo Kluczowe volatile: Wykorzystanie volatile do zapewnienia widoczności zmian zmiennych między wątkami.
  • Gwarancja HAPPENS BEFORE: Zrozumienie zasad porządku zdarzeń w Javie i ich wpływu na współbieżność.

Thread Safety i Narzędzia

  • Thread Safety w Gotowych Narzędziach: Zapewnienie bezpieczeństwa wątków w standardowych klasach i bibliotekach.
  • Thread Safety w Java API: Wykorzystanie bezpiecznych API w programach Java.
  • Thread Safety w Hibernate: Zarządzanie współbieżnością w aplikacjach Hibernate.
  • Thread Pools i ExecutorService: Efektywne zarządzanie wątkami przy użyciu pul wątków i ExecutorService.
  • Interfejsy Runnable i Callable: Tworzenie i uruchamianie zadań asynchronicznych.

Parallel Streams

  • Tworzenie Parallel Streams: Jak tworzyć strumienie równoległe do przetwarzania danych.
  • Przetwarzanie Parallel Streams: Wykorzystanie strumieni równoległych do optymalizacji operacji na danych.
  • Kończenie Parallel Streams: Poprawne zakończenie przetwarzania strumieni równoległych.

Klasy Atomic

  • Klasy Atomic: Co to są i do czego służą? Zrozumienie i wykorzystanie klas atomowych do bezpiecznego zarządzania danymi w środowisku wielowątkowym. Korzyści z ich użycia.

Ten warsztat, numer 18 w ramach ścieżki Zajavka, jest samodzielny, ale może być realizowany w kontekście innych materiałów. Zdobądź praktyczną wiedzę i umiejętności, aby pisać wydajne i niezawodne aplikacje Java!

$ whoami — the devs behind tutorialsearch.io

Need a web app built? Hire the team behind TutorialSearch.io

We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.

5.0(20)
15h 34m
all
5.0(7)
4h 39m
beginner
5.0(10)
9h 18m
beginner