Modern multicore processors offer immense opportunities to improve Java performance, but they also make Java performance tuning more complex than ever. Java Performance Companion helps you systematically improve Java performance by taking a proactive approach: identifying optimization opportunities, experimenting and accurately interpreting your results, and taking effective action. 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.…mehr
Modern multicore processors offer immense opportunities to improve Java performance, but they also make Java performance tuning more complex than ever. Java Performance Companion helps you systematically improve Java performance by taking a proactive approach: identifying optimization opportunities, experimenting and accurately interpreting your results, and taking effective action. 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 mislead you into writing poorly performing software. Throughout, you'll find dozens of Java performance tips and tricks available nowhere else. Key topics include: * Monitoring Java performance at the OS level in Windows, Linux, and Oracle Solaris environments * Going under the hood with G1 and understanding it in unprecedented depth * Using modern Java Virtual Machine (JVM) and OS observability tools to profile running systems with almost no performance penalty * Integrating JVM-level and application monitoring * Mastering Java method and heap (memory) profiling * Tuning the Java HotSpot VM for startup, memory footprint, response time, and latency * Optimizing modern JVM JIT compilers * Using the HotSpot serviceability agent * Using Java Mission Control to improve latency, throughput, and footprint * Triaging JVM issues with the Serviceability Agent * Implementing best performance practices for using / writing Java Lambdas * Achieving optimal performance with dynamic languages on the JVM * Utilizing the newest Oracle and third-party tools for monitoring and measuring performance on diverse hardware architectures and operating systems Java Performance Companion can help you squeeze maximum performance and value from all your Java applications - no matter how complex they are, what platforms they're running on, or how long you've been running them.Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
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.
Inhaltsangabe
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
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
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Internetauftritt der buecher.de internetstores GmbH
Geschäftsführung: Monica Sawhney | Roland Kölbl | Günter Hilger
Sitz der Gesellschaft: Batheyer Straße 115 - 117, 58099 Hagen
Postanschrift: Bürgermeister-Wegele-Str. 12, 86167 Augsburg
Amtsgericht Hagen HRB 13257
Steuernummer: 321/5800/1497
USt-IdNr: DE450055826