Learn how to quickly work out what your Java code is doing so you can understand when and why it misbehaves.
Searching for bugs, detangling messy legacy code, or evaluating your codebase for new features sucks up much of a developer's time. Effectively reading and understanding existing code is a true superpower! Troubleshooting Java, Second Edition teaches you to efficiently analyze and debug Java applications using time-tested tools and new AI-powered techniques.
In Troubleshooting Java, Second Edition you’ll
• Efficiently use debuggers to quickly understand complex code • Utilize AI-driven tools to automate log analysis, trace execution, and predict problems • Correctly implement and interpret application logs • Identify performance bottlenecks and optimize slow execution paths • Profile SQL queries to diagnose and optimize database interactions • Evaluate heap dumps to detect and fix memory leaks • Analyze thread dumps to resolve deadlocks and concurrency issues • Navigate the intricacies of service-oriented and microservices systems
In Troubleshooting Java, Second Edition Java veteran Laurentiu Spilca shares techniques for reading, profiling, debugging, and optimizing Java code that he’s honed over years working with high-stakes systems. This fully-revised second edition, updates coverage for new Java tools and adds methods for saving time and effort using AI. You’ll master techniques to identify memory leaks, optimize database queries, and resolve threading issues with ease. The code samples are in Java, but the skills you learn in this guide can be applied to any JVM language.
About the book
Troubleshooting Java, Second Edition introduces code investigation techniques that will help you efficiently understand how Java apps work, how to optimize them, and how to fix the bugs that break them. In it, you’ll learn timesaving practices for discovering hidden dependencies, discovering the root causes of crashes, and interpreting unexpected results. Explore debugging tools like IntelliJ IDEA Debugger, JConsole, and Heap Dump Analyzer; and find new coverage on modern Java, cloud-native Java applications, and microservices. Each technique is explored with a hands-on project, such as debugging a slow REST API, resolving a memory leak in a web app, and tuning for high performance.
About the reader
For intermediate Java developers.
About the author
Laurentiu Spilca is a skilled Java and Spring developer and an experienced technology instructor. He is the author of Spring Start Here and Spring Security in Action.
Troubleshooting Java is one of those rare technical books that’s both incredibly deep and surprisingly practical. The author clearly knows the subject at an expert level, and it shows on every page.
What I appreciate most is the focus on understanding what your application is actually doing —something we all spend far more time on than writing new code. The book walks through advanced yet very relevant topics, such as using AI to support troubleshooting, identifying performance bottlenecks, detecting memory leaks, analyzing heap dumps and GC logs, and diagnosing communication failures across distributed systems.
Another highlight is the huge collection of hands-on projects included. You can import them directly and practice real troubleshooting techniques instead of just reading theory.
For anyone working with Java in modern, complex environments, this book is an invaluable resource. I highly recommend it and confidently give it 5 stars.
I’d highly recommend Troubleshooting Java, Second Edition by Laurențiu Spilcă — it’s a practical, hands-on guide to diagnosing and fixing subtle bugs in real-world Java apps. With updated coverage of modern tools (like VisualVM, heap and thread dump analyzers) and even AI-powered techniques, it teaches you how to debug smarter, optimize performance, and pinpoint root causes with confidence. Ideal for intermediate JVM developers.
Troubleshooting Java, Second Edition, is an indispensable guide for every Java developer. With clear explanations, practical examples, and real-world troubleshooting techniques, Laurentiu Spilca has created a book that belongs on every developer’s desk. Whether you’re fixing performance bottlenecks, resolving crashes, or diagnosing complex system issues, this book gives you the tools and confidence to get the job done.
- Purushotham C K Technical Architect, HCL Tech GmbH, Germany