Published by Addison-Wesley (April 8, 2016) © 2016

Charlie Hunt | Poonam Parhar | Bengt Rutisson | Monica Beckwith
    VitalSource eTextbook (Lifetime access)
    €20,99
    Adding to cart… The item has been added
    ISBN-13: 9780133796889

    Java Performance Companion ,1st edition

    Language: English

    Java® Performance Companion shows how to systematically and proactively improve Java performance with today’s advanced multicore hardware and complex operating system environments.


    The authors, who are all leading Java performance and Java HotSpot VM experts, help you improve performance by using modern software engineering practices, avoiding common mistakes, and applying tips and tricks gleaned from years of real-world experience.


    Picking up where Charlie Hunt and Binu John’s classic Java Performance left off, this book provides unprecedented detail on two powerful Java platform innovations: the Garbage First (G1) garbage collector and the HotSpot VM Serviceability Agent.


    Coverage includes

    • Leveraging G1 to overcome limitations in parallel, serial, and CMS garbage collection
    • Understanding each stage of G1 GC collections, both young and old
    • Getting under the hood with G1 and efficiently fine-tuning it for your application
    • Identifying potential optimizations, interpreting experimental results, and taking action
    • Exploring the internals of the HotSpot VM
    • Using HotSpot VM Serviceability Agent to analyze, triage, and resolve diverse HotSpot VM issues
    • Troubleshooting out of memory errors, Java level deadlocks, and HotSpot VM crashes
    • Extending the Serviceability Agent, and using the Plugin for VisualVM
    • Mastering useful HotSpot VM command line options not covered in Java™ Performance


    Java® Performance Companion can help you squeeze maximum performance and value from Java with JDK 8 or 9–for any application, in any environment.


    Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available. 

    Preface ix

    Acknowledgments xi

    About the Authors xv

     

    Chapter 1: Garbage First Overview 1

    Terminology 1

    Parallel GC 2

    Serial GC 4

    Concurrent Mark Sweep (CMS) GC 5

    Garbage First (G1) GC 8

    References 14


    Chapter 2: Garbage First Garbage Collector in Depth 15

    Background 15

    Garbage Collection in G1 16

    The Young Generation 17

    A Young Collection Pause 18

    Object Aging and the Old Generation 19

    Humongous Regions 19

    A Mixed Collection Pause 22

    Collection Sets and Their Importance 24

    Remembered Sets and Their Importance 24

    Concurrent Marking in G1 GC 30

    Stages of Concurrent Marking 34

    Evacuation Failures and Full Collection 37

    References 38

     

    Chapter 3: Garbage First Garbage Collector Performance Tuning 39

    The Stages of a Young Collection 39

    Young Generation Tunables 50

    Concurrent Marking Phase Tunables 52

    A Refresher on the Mixed Garbage Collection Phase 54

    The Taming of a Mixed Garbage Collection Phase 56

    Avoiding Evacuation Failures 59

    Reference Processing 60

    References 65

     

    Chapter 4: The Serviceability Agent 67

    What Is the Serviceability Agent? 68

    Why Do We Need the SA? 68

    SA Components 69

    SA Binaries in the JDK 69

    JDK Versions with Complete SA Binaries 69

    How the SA Understands HotSpot VM Data Structures 70

    SA Version Matching 71

    The Serviceability Agent Debugging Tools 72

    Core Dump or Crash Dump Files 108

    Debugging Transported Core Files 109

    System Properties for the Serviceability Agent 111

    Environment Variables for the Serviceability Agent 112

    JDI Implementation 113

    Extending Serviceability Agent Tools 115

    Serviceability Agent Plugin for VisualVM 117

    Troubleshooting Problems Using the SA 123

     

    Appendix: Additional HotSpot VM Command-Line Options of Interest 145

     

    Index 155