Troubleshooting Java
eBook - ePub

Troubleshooting Java

Read, debug, and optimize JVM applications

  1. 328 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Troubleshooting Java

Read, debug, and optimize JVM applications

About this book

Effectively reading and understanding existing code is a developer's superpower. In this book, you'll master techniques for code profiling, advanced debugging, and log evaluation to find and fix bugs and performance problems. In Troubleshooting Java: Read, debug, and optimize JVM applications you will learn how to: Determine what code does the first time you see it
Expose code logic problems
Evaluate heap dumps to find memory leaks
Monitor CPU consumption to optimize execution
Use thread dumps to find and solve deadlocks
Easily follow a service-oriented or microservices system
Properly use logging to better understand Java app execution
Use Java debuggers efficiently Searching for bugs, detangling messy legacy code, or evaluating your codebase for new features sucks up much of a developer's time. Troubleshooting Java: Read, debug, and optimize JVM applications teaches 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. You'll go from the basics of debugging to advanced methods for locating problems in microservices architectures, and save yourself hours—or even days—of time. Each new technique is explained with lively illustrations and engaging real-world examples. About the technology
Fact: Over the course of your career, you'll spend far more time reading code than you will writing it. The code investigation skills in this book will radically improve your efficiency in understanding and improving Java applications. About the book
Troubleshooting Java: Read, debug, and optimize JVM applications presents practical techniques for exploring and repairing unfamiliar code. In it, you'll learn timesaving practices for discovering hidden dependencies, discovering the root causes of crashes, and interpreting unexpected results. Go beyond profiling and debugging and start understanding how Java applications really work. What's inside Determine what code does the first time you see it
Evaluate heap dumps to find memory leaks
Monitor CPU consumption to optimize execution
Use thread dumps to find and solve deadlocks
Uncover glitches in code logic
Locate intermittent runtime problems 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. Table of Contents
PART 1 - THE BASICS OF INVESTIGATING A CODEBASE
1 Revealing an app's obscurities
2 Understanding your app's logic through debugging techniques
3 Finding problem root causes using advanced debugging techniques
4 Debugging apps remotely
5 Making the most of logs: Auditing an app's behavior
PART 2 - DEEP ANALYSIS OF AN APP'S EXECUTION
6 Identifying resource consumption problems using profiling techniques
7 Finding hidden issues using profiling techniques
8 Using advanced visualization tools for profiled data
9 Investigating locks in multithreaded architectures
10 Investigating deadlocks with thread dumps
11 Finding memory-related issues in an app's execution
PART 3 - FINDING PROBLEMS IN LARGE SYSTEMS
12 Investigating apps' behaviors in large systems

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Troubleshooting Java by Laurentiu Spilca in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming in Java. We have over one million books available in our catalogue for you to explore.

Information

Table of contents

  1. inside front cover
  2. Troubleshooting Java
  3. Copyright
  4. contents
  5. front matter
  6. Part 1. The basics of investigating a codebase
  7. 1 Revealing an app’s obscurities
  8. 2 Understanding your app’s logic through debugging techniques
  9. 3 Finding problem root causes using advanced debugging techniques
  10. 4 Debugging apps remotely
  11. 5 Making the most of logs: Auditing an app’s behavior
  12. Part 2. Deep analysis of an app’s execution
  13. 6 Identifying resource consumption problems using profiling techniques
  14. 7 Finding hidden issues using profiling techniques
  15. 8 Using advanced visualization tools for profiled data
  16. 9 Investigating locks in multithreaded architectures
  17. 10 Investigating deadlocks with thread dumps
  18. 11 Finding memory-related issues in an app’s execution
  19. Part 3. Finding problems in large systems
  20. 12 Investigating apps’ behaviors in large systems
  21. Appendix A. Tools you’ll need
  22. Appendix B. Opening a project
  23. Appendix C. Recommended further reading
  24. Appendix D. Understanding Java threads
  25. Appendix E. Memory management in Java apps
  26. index
  27. inside back cover