Logo
flag

Multithreaded Programming in Java

Logo

Please rate the course

0.0
Category:
Language:
Russian
Duration:
06:29:02
Number of lessons:
31
Release date:
24/04/2023
Rating:
0.0

Course short description

Multithreading often remains a blind spot for developers. Many people know about executors, synchronized and volatile, but in practice they write outdated, slow and incorrect code.


Why does this happen? 

Most of the courses and articles do not go beyond the Thread class and executors. There is a good book, Java Concurrency In Practice, but it is from 2005. Since then, new tools and new approaches to writing code have appeared.

Multithreading errors appear under high load. Most projects don’t have it, so the feeling of “it’s normal as it is” is created. 

But a competent developer sees the bottlenecks of the system. Anticipates an error that will happen in a month and rationally uses computing resources. 

During the course, I will talk in detail about multithreading from simple to complex. I will show best practices and main mistakes, examples from my experience and popular projects.

What you need for comfortable learning

  • One year of Java development experience
  • Basic knowledge of multithreading: Thread, Executors, volatile, synchronized
  • GoF design patterns
  • You know how to write web services in Spring, make database queries and write unit tests
  • Knowledge of git

What we will do

< div data-editable="true" data-param="items/parts/text1/inner/text">

  • Discuss each java.util.concurrent class in detail: pros, cons, best practices
  • Study how everything works “under the hood”
  • Spot interesting techniques in popular projects
  • Look for errors and possible problems in the code of a real project
  • Compare implementations among themselves
  • Measure performance in different conditions
  • Analyze interview questions

We will also touch on:

  • Flags JVMs related to multithreading
  • What and how to test
  • Reactive libraries
  • Virtual threads

What won't happen

  • Algorithms
  • Theory of parallel computing
  • Distributed computing and transactions

Write your comment

Logo