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 learn: Efficiently use debuggers to quickly understand complex codeUtilize AI-driven tools to automate log analysis, trace execution, and predict problemsCorrectly implement and interpret application logsIdentify performance bottlenecks and optimize slow execution pathsProfile SQL queries to diagnose and optimize database interactionsEvaluate heap dumps to detect and fix memory leaksAnalyze thread dumps to resolve deadlocks and concurrency issuesNavigate the intricacies of service-oriented and microservices systemsIn 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 technology Whether you're working with legacy systems or using AI to generate fresh programs, you'll spend more time reading and fixing code than writing it from scratch. Troubleshooting is a messy art, and efficient profiling, logging, debugging, and optimization will save you hours of time and countless headaches. About the bookTroubleshooting Java, Second Edition teaches practical techniques to diagnose, debug, and optimize Java applications. You'll learn to uncover hidden dependencies, diagnose crashes, and resolve performance issues using tools like IntelliJ IDEA Debugger, VisualVM, and Heap Dump Analyzer. This revised and updated second edition introduces AI-powered troubleshooting tools, along with techniques for modern Java and cloud-native apps. What's insideUse debuggers to quickly understand complex codeAutomate code analysis with AI toolsImplement and interpret application logsIdentify performance bottlenecksAbout the reader For intermediate Java developers. About the authorLaurentiu 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. Table of Contents Part 1 1 Starting to know your apps 2 Understanding your app's logic through debugging techniques 3 Finding problem root causes using advanced debugging techniques 4 Making the most of logs: Auditing an app's behavior Part 2 5 Identifying resource consumption problems using profiling techniques 6 Finding hidden problems using profiling techniques 7 Investigating locks in multithreaded architectures 8 Investigating deadlocks with thread dumps Part 3 9 Profiling memory-related problems 10 Investigating memory problems with heap dumps 11 Analyzing potential JVM problems with GC logs Part 4 12 Uncovering system-level failures and service communication problems 13 Measuring data consistency and transactions A Tools you'll need B Opening a project C Recommended further reading D Understanding Java threads E Memory management in Java apps
ThriftBooks sells millions of used books at the lowest everyday prices. We personally assess every book's quality and offer rare, out-of-print treasures. We deliver the joy of reading in recyclable packaging with free standard shipping on US orders over $15. ThriftBooks.com. Read more. Spend less.