Java Concurrency Troubleshooting: Data Access and Consistency
59mIntermediate2021-02-23
Authors

Tayo Koleoso
Lead Programmer
Course details
Having multiple users for your applications is great, right? More often than not, you probably didn’t spend all that time developing your app just to have one single person use it. Of course, the moment you have more than one user running your Java application, you have a whole set of new problems. In this course, instructor Tayo Koleoso shows the various and frustrating ways accessing runtime data can fall apart in a multiuser Java application. Follow along with Tayo as he takes a deep dive into Java troubleshooting to show developers how to identify, prevent, and solve data access and consistency issues in a multithreaded environment. Whether you’re working in an SQL database or accessing simple class variables, Tayo gives you tools and tips to help you predict and recognize where multithreading can go wrong.
Skills covered
Software Design PatternsJavaOracleSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Welcome to safe data in Java
- 02 - Threads and runtime data
1. Common Concurrent Data Access Pitfalls
- 03 - Race conditions in code
- 04 - Unsafe class-level variable access
- 05 - Unsafe data structures
- 06 - Deadlocked threads
- 07 - Database transaction management
- 08 - Database lost updates
- 09 - Long-running transactions
- 10 - Java streams and Lambda concurrency issues
2. Troubleshoot Deadlocked Threads
- 11 - Capture a thread dump
- 12 - Find deadlocks in a thread dump
- 13 - Challenge - Find deadlocks in a thread dump
- 14 - Solution - Find deadlocks in a thread dump
Conclusion
- 15 - Finish line