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 course term

Contact us

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:
384.00 € ( 464.64 € incl. 21% VAT)
Language:

Vybrané zákaznické reference

TRASK SOLUTIONS a.s., Samuel P.
Java: Concurrent Programming ( JAV4)
"Nič by som nemenil, výborne pripravené."
HighTec EDV Prague s.r.o., Michal K.
Java: Concurrent Programming ( JAV4)
"Skoleni bylo velmi dobre pripravene, kurz poskytl velmi dobry zaklad do dalsi prace, ktera je pred nami a zaroven lektor bystre zhodnotil nasi dosavadni snahu v teto oblasti. Nemam co vytknout, splnil mnohem vice nez jsem ocekaval."
HighTec EDV Prague s.r.o., Petr N.
Java: Concurrent Programming ( JAV4)
"S kurzem jsem byl velmi spokojeny. Naprosto splnil me ocekavani. Me obavy z online skoleni se ani v nejmensim nenaplnily. Skolitel (p. Dolezal) je velmi prijemny, ochotny a hlavne oplyvajici velmi sirokou skalou vedomosti. Naprosto nemam co vytknout! Kurz mohu jen doporucit."
Č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 Oshop 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ý."