Java Performance Companion, 1st edition

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

  • Charlie Hunt
  • Poonam Parhar
  • Bengt Rutisson
  • Monica Beckwith
Products list
  • Available for purchase from all major ebook resellers, including InformIT.com
Products list

Details

  • A print text
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com

This product is expected to ship within 3-6 business days for US and 5-10 business days for Canadian customers.

World-class Java performance experts present detailed information on common top-down (application-centric) tuning and bottom-up (hardware/OS centric) approaches, with solid coverage of Windows, Linux, and Solaris. They show how to improve performance by applying state-of-the-art software engineering practices, and how to avoid common mistakes that can lead to writing poorly performing software. Throughout, there are dozens of Java performance tips and tricks available nowhere else.

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 

Need help? Get in touch