In Going to the Strip Club, a divorced, middle-aged man named Charlie is a frequent visitor of his local strip club. During his time there, he begins to study and decode the interpersonal interactions that occur in the seemingly secretive world fu...
Charlie Hunt (Libertyville, IL) is a Java performance engineer working on both Java SE and Java EE optimization issues. Dave Dagastine (Cobleskill, NY), Java SE Performance Engineering tech lead is actively involved in developing Java benchmarks at SPEC. Paul Hohensee (Nashua, NH) is Senior Staff Engineer for Sun Microsystems in Burlington, MA.
Foreword by James Gosling xi
Foreword by Steve Wilson xiii
Preface xv
Acknowledgments xix
About the Authors xxi
Chapter 1: Strategies, Approaches, and Methodologies 1
Forces at Play 2
Two Approaches, Top Down and Bottom Up 5
Choosing the Right Platform and Evaluating a System 8
Bibliography 11
Chapter 2: Operating System Performance Monitoring 13
Definitions 14
CPU Utilization 14
CPU Scheduler Run Queue 28
Memory Utilization 32
Network I/O Utilization 41
Disk I/O Utilization 46
Additional Command Line Tools 49
Monitoring CPU Utilization on SPARC T-Series Systems 50
Bibliography 53
Chapter 3: JVM Overview 55
HotSpot VM High Level Architecture 56
HotSpot VM Runtime 58
HotSpot VM Garbage Collectors 80
HotSpot VM JIT Compilers 92
HotSpot VM Adaptive Tuning 100
References 106
Chapter 4: JVM Performance Monitoring 107
Definitions 108
Garbage Collection 108
JIT Compiler 146
Class Loading 147
Java Application Monitoring 150
Bibliography 153
Chapter 5: Java Application Profiling 155
Terminology 157
Oracle Solaris Studio Performance Analyzer 159
NetBeans Profiler 189
References 209
Chapter 6: Java Application Profiling Tips and Tricks 211
Performance Opportunities 211
System or Kernel CPU Usage 212
Lock Contention 222
Volatile Usage 234
Data Structure Resizing 235
Increasing Parallelism 243
High CPU Utilization 246
Other Useful Analyzer Tips 247
Bibliography 249
Chapter 7: Tuning the JVM, Step by Step 251
Methodology 252
Application Systemic Requirements 255
Rank Systemic Requirements 257
Choos...