Java Concurrency Troubleshooting: Data Access and Consistency

Java Concurrency Troubleshooting: Data Access and Consistency

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 0h 58m | 205 MB

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.

Table of Contents

Introduction
1 Welcome to safe data in Java
2 Threads and runtime data

Common Concurrent Data Access Pitfalls
3 Race conditions in code
4 Unsafe class-level variable access
5 Unsafe data structures
6 Deadlocked threads
7 Database transaction management
8 Database lost updates
9 Long-running transactions
10 Java streams and Lambda concurrency issues

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