
Java Performance Companion
Addison Wesley (Publisher)
Published on 12. May 2016
Book
Paperback/Softback
192 pages
978-0-13-379682-7 (ISBN)
Description
Java (R) 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 (TM) Performance
Java (R) 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.
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 (TM) Performance
Java (R) 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.
More details
Language
English
Place of publication
Boston
United States
Publishing group
Pearson Education (US)
Target group
Professional and scholarly
Product notice
Paperback (trade)
Unsewn / adhesive bound
Dimensions
Height: 231 mm
Width: 177 mm
Thickness: 15 mm
Weight
313 gr
ISBN-13
978-0-13-379682-7 (9780133796827)
Schweitzer Classification
Other editions
Additional editions

Charlie Hunt | Poonam Parhar | Bengt Rutisson
Java Performance Companion
E-Book
04/2016
1st Edition
Addison Wesley
from
€30.00
Available for download

Charlie Hunt | Monica Beckwith | Poonam Parhar
Java Performance Companion
E-Book
04/2016
1st Edition
Addison Wesley
€31.99
Available for download
Persons
Charlie Hunt, is a JVM Performance Engineer at Oracle where he works on the performance of Java SE, Java EE, Java HotSpot VM, and Java SE class libraries. He presents on Java performance at various events, including JavaOne, QCon, Velocity, and Dreamforce, and he coauthored Java Performance (Addison-Wesley, 2012).
Monica Beckwith is an independent performance consultant optimizing customer applications for server class systems running the Java Virtual Machine. She has worked with Java HotSpot VM optimising the JIT Compiler, the generated code, the JVM heuristics and garbage collection and collectors. Monica led Oracle's Garbage First Garbage Collector performance team and was named a JavaOne Rock Star. Poonam Parhar is a JVM Sustaining Engineer at Oracle, where her primary responsibility is to resolve customer-escalated problems against Oracle JRockit and Java HotSpot VMs. She loves debugging and troubleshooting problems, and is always focused on improving the serviceability and supportability of the JVM.
Bengt Rutisson is a JVM Engineer at Oracle, working in the HotSpot VM team. He has worked on garbage collections in JVMs for the past ten years, first with the Oracle JRockit VM and the last six years with the Java HotSpot VM. Bengt is an active participant in the OpenJDK project, with many contributions of features, stability fixes and performance enhancements.
Monica Beckwith is an independent performance consultant optimizing customer applications for server class systems running the Java Virtual Machine. She has worked with Java HotSpot VM optimising the JIT Compiler, the generated code, the JVM heuristics and garbage collection and collectors. Monica led Oracle's Garbage First Garbage Collector performance team and was named a JavaOne Rock Star. Poonam Parhar is a JVM Sustaining Engineer at Oracle, where her primary responsibility is to resolve customer-escalated problems against Oracle JRockit and Java HotSpot VMs. She loves debugging and troubleshooting problems, and is always focused on improving the serviceability and supportability of the JVM.
Bengt Rutisson is a JVM Engineer at Oracle, working in the HotSpot VM team. He has worked on garbage collections in JVMs for the past ten years, first with the Oracle JRockit VM and the last six years with the Java HotSpot VM. Bengt is an active participant in the OpenJDK project, with many contributions of features, stability fixes and performance enhancements.
Content
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
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