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
10/8/2020 - 10/9/2020
Order
12/3/2020 - 12/4/2020
Order
1/28/2021 - 1/29/2021
Order
Praha
8/27/2020 - 8/28/2020
Order
10/22/2020 - 10/23/2020
Order
12/17/2020 - 12/18/2020
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)

Vybrané zákaznické reference

Č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ý."