Java: Concurrent Programming (JAV4)

Programming, Java, Spring

The audiences are supposed to be more experienced. Although the terminology and used concepts (like a thread, race conditions etc.) are repeated briefly as part of the introduction and the starting point, the audiences should have basic understanding for those core concepts.

Location, current term course



Brno / online
7/15/2021 - 7/16/2021 CZECH
Order
9/9/2021 - 9/10/2021 CZECH
Order
11/4/2021 - 11/5/2021 CZECH
Order
Praha / online
6/3/2021 - 6/4/2021 CZECH
Order
7/29/2021 - 7/30/2021 CZECH
Order
9/23/2021 - 9/24/2021 CZECH
Order
Vlastní Školení na míru (termín, lokalita, obsah, délka)

The course:

Hide detail
  • Introduction in concurrency
    1. Thread, multithreading, parallel processing
    2. Benefits and pitfalls; race conditions, deadlocks, livelocks, performance considerations
  • Execution model
    1. Execution order, ordering rules, memory visibility
    2. Java Memory Model, happens-before relation
    3. Exploiting the Java execution model
  • Concurrency in theory
    1. State management, immutability
    2. Confinement and confining techniques
    3. Safe publishing
  • Concurrency in practice
    1. Idioms: double-checked locking, lazy initialization holder, final wrapper
    2. Instance pooling
    3. Designing a thread-safe class; design considerations and pitfalls
  • Basic threading support
    1. Monitors: JVM and Java, using intrinsic locks and conditions
    2. Threads, blocking, and interruptions
    3. JVM shutdown
  • Threading framework
    1. Thread pools, Executor framework, Fork Join Pool
    2. Task-based approach, scheduling, futures
    3. Cancellation problem
  • Building blocks
    1. Light-weight synchronization: atomic variables, volatiles
    2. Synchronization primitives: locks, semaphores, barriers, counters, phasers etc.
    3. Synchronized and concurrent collections
  • Concurrent problems
    1. Deadlocks, livelocks, starvation: causes and solutions, techniques
    2. Amdahl’s Law, cost of concurrency, performance considerations
    3. Common bottlenecks, optimization strategies
    4. Non-blocking techniques
  • Some other frameworks
    1. NIO: non-blocking I/O
    2. NIO.2: asynchronous I/O
    3. Fork Join Pool, support for asynchronous tasks
Recommended previous course:
Java - Advanced Programming (JAV2)
Recommended subsequent course:
Java under the Hood (JAV5)
Schedule:
2 days (9:00 AM - 5:00 PM )
Course price:
314.29 € ( 380.29 € incl. 21% VAT)
Language:

Vybrané zákaznické reference

Česká pošta, s.p., Jiří K.
Java: Concurrent Programming ( JAV4)
"Děkuji za školení, bylo velice přínosné s velkým množstvím ukázek a kvalitním teoretickým backgroundem. Možná bych uvítal větší kontakt s konkrétnímu use cases, ale vzhledem k rozsahu předávaných informací rozumím, že to není zcela možné."
Česká pošta, s.p., Jakub M.
Java: Concurrent Programming ( JAV4)
"Školení hodnotím pozitivně, líbila se mi zejména řada praktických úkázek kódu, výklad lektora byl velice srozumitelný. Meetingové prostředí fungovalo bez problémů. Teoretická část byla dosti podrobná, spokojil bych se s menší hloubkou teoretického výkladu."
Česká pošta, s.p., Michal E.
Java: Concurrent Programming ( JAV4)
"Maximální spokojenost. Děkuji"
ATLAS consulting spol. s r.o., Richard S.
Java: Concurrent Programming ( JAV4)
"děkuji .. nechybělo nic, naopak"
Československá obchodní banka, a. s., Marian M.
Java: Concurrent Programming ( JAV4)
"supr, do detailu, jasne prehladne"
T-Mobile Czech Republic a.s., Antonín K.
Java: Concurrent Programming ( JAV4)
"Kurz prezentoval velke mnozstvi prikladu, ktere jsem vzhledem k jeho omezene dobe trvani nestihl sam vsechny vyzkouset. Kurz beru jako velmi dobry zaklad pro sve dalsi studim v teto oblasti."
Hönigsberg & Düvel Datentechnik Czech s.r.o., Lukáš K.
Java: Concurrent Programming ( JAV4)
"vyucijici bez chyby. Pouze sama chvala."
Hönigsberg & Düvel Datentechnik Czech s.r.o., Ota Š.
Java: Concurrent Programming ( JAV4)
"Toto skoleni bylo velkym prinosem znalosti a pan skolitel ma velky prehled. Ke kazdy otazce dal vstricnou a smysluplnou odpoved. Tento kurz musim velice pochvalit."
MoroSystems, s.r.o., Lukáš S.
Java: Concurrent Programming ( JAV4)
"Lektor jako minule perfektně připraven, odborné znalosti na vysoké úrovni. Děkuji."
MoroSystems, s.r.o., Jan F.
Java: Concurrent Programming ( JAV4)
"Lektor s hlubokými znalostmi připraven odpovídat na jakékoli otázky."
MoroSystems, s.r.o., Martin P.
Java: Concurrent Programming ( JAV4)
"Dobrý kurz. Dobrý lektor."
MoroSystems, s.r.o., Jiří M.
Java: Concurrent Programming ( JAV4)
"Spousta praktických informací. Získání ucelenějšího pohledu na různá zákoutí Javy. Lektor má obrovské znalosti o ledasčem."
MoroSystems, s.r.o., Jakub Ř.
Java: Concurrent Programming ( JAV4)
"Lektor byl skvěle odborně připravený a jeho výklad byl přehledný a srozumitelný. Načerpal jsem spoustu užitečných znalostí a postřehů. "
MoroSystems, s.r.o., Boris B.
Java: Concurrent Programming ( JAV4)
"Velka pochvala lektorovi, vedomosti a pristup bez pripomienok, ochota venovat sa otazkam aj mimo oficialneho casu kurzu."
MoroSystems, s.r.o., Kristýna K.
Java: Concurrent Programming ( JAV4)
"skoleni se mi moc libilo, lektor mel vysokou uroven znalosti a umel predat zanlosti pochopitelnym zpusobem"
MoroSystems, s.r.o., Tomáš R.
Java: Concurrent Programming ( JAV4)
"Teoretická část byla dobře vyvážená, neobsahovala moc "vaty" ale přinesla potřebný background pro příklady a identifikaci možných problémů."
MoroSystems, s.r.o., Michael B.
Java: Concurrent Programming ( JAV4)
"Lektor byl ochotný věnovat se i tématům, které nebyly v původním harmonogramu a přizpůsobil plán kurzu preferencím jaho účastníků"
oXy Online s.r.o., Martin Z.
Java: Concurrent Programming ( JAV4)
"Som spokojný s priebehom kurzu, pre mňa obsahoval dosť nových informácií, ktoré verím, že v budúcnosti využijem. Počas kurzu sme si aj precvičili preberané témy."
MoroSystems, s.r.o., Lukáš S.
Java: Concurrent Programming ( JAV4)
"Vše perfektní, lektor odborník, příjemný a ochotný."