Oracle JRockit: The Definitive Guide

Develop and manage robust Java applications with Oracle's high-performance JRockit Java Virtual Machine with this Oracle book and eBook

Oracle JRockit: The Definitive Guide

Starting
Marcus Hirt, Marcus Lagergren

Develop and manage robust Java applications with Oracle's high-performance JRockit Java Virtual Machine with this Oracle book and eBook
$41.99
$69.99
RRP $41.99
RRP $69.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free sample

Book Details

ISBN 139781847198068
Paperback588 pages

About This Book

  • Learn about the fundamental building blocks of a JVM, such as code generation and memory management, and utilize this knowledge to develop code you can count on
  • Realize the full potential of Java applications by learning how to apply advanced tuning and analysis
  • Work with the JRockit Mission Control 3.1/4.0 tools suite to debug or profile your Java applications
  • Learn the simplicity and performance benefits of virtualizing Java through JRockit Virtual Edition
  • Written by Marcus Hirt and Marcus Lagergren, founder members of Appeal Virtual Machines, the company that created the Java Virtual Machine: JRockit

Who This Book Is For

This book is for intermediate to advanced Java Developers, who want to monitor, diagnose, profile and enhance the performance of their Java applications. It is also for people who want to understand more about the internal workings of a modern Java Virtual Machine or adaptive runtime. Parts of the book are suitable as course material for education about runtimes.

Table of Contents

Chapter 1: Getting Started
Obtaining the JRockit JVM
Migrating to JRockit
A note on JRockit versioning
Getting help
Summary
Chapter 2: Adaptive Code Generation
Platform independence
The Java Virtual Machine
Code generation strategies
Adaptive code generation
Inside the JIT compiler
The JRockit code pipeline
Controlling code generation in JRockit
Summary
Chapter 3: Adaptive Memory Management
The concept of automatic memory management
Fundamental heap management
Garbage collection algorithms
Speeding it up and making it scale
Near-real-time garbage collection
The Java memory API
Pitfalls and false optimizations
Controlling JRockit memory management
Summary
Chapter 4: Threads and Synchronization
Fundamental concepts
Java API
Implementing threads and synchronization in Java
Optimizing threads and synchronization
Pitfalls and false optimizations
JRockit flags
Summary
Chapter 5: Benchmarking and Tuning
Reasons for benchmarking
What to think of when creating a benchmark
Deciding what to measure
Industry-standard benchmarks
The dangers of benchmarking
Tuning
Common bottlenecks and how to avoid them
Wait/notify and fat locks
Summary
Chapter 6: JRockit Mission Control
Background
Mission Control overview
The Experimental Update Site
Debugging JRockit Mission Control
Summary
Chapter 7: The Management Console
A JMX Management Console
Using the console
Extending the JRockit Mission Control Console
Summary
Chapter 8: The Runtime Analyzer
The need for feedback
Analyzing JRA recordings
Troubleshooting
Summary
Chapter 9: The Flight Recorder
The evolved Runtime Analyzer
Flight Recorder in JRockit Mission Control
Differences to JRA
Adding custom events
Extending the Flight Recorder client
Summary
Chapter 10: The Memory Leak Detector
A Java memory leak
Detecting a Java memory leak
Memleak technology
Tracking down the leak
Interactive memory leak hunting
The general purpose heap analyzer
Allocation traces
Troubleshooting Memleak
Summary
Chapter 11: JRCMD
Introduction
Overriding SIGQUIT
Limitations of JRCMD
JRCMD command reference
Summary
Chapter 12: Using the JRockit Management APIs
JMAPI
JMXMAPI
Summary
Chapter 13: JRockit Virtual Edition
Introduction to virtualization
Virtualizing Java
A look ahead—can virtual be faster than real?
Summary

What You Will Learn

  • Get to grips with the fundamental building blocks of a JVM: the code generator, the garbage collector, and the implementation of threads and synchronization. Learn the design philosophy behind the JRockit JVM in these areas.
  • Become a better Java programmer through enhanced understanding of the Java runtime.
  • Learn how program execution works in an adaptive environment.
  • Create relevant benchmarks and accurately measure the performance of your Java application.
  • Learn the most important command-line flags that control JRockit subsystems and their use for performance tuning.
  • Get to know what JRockit Mission Control is, how to set it up, and how to trouble-shoot it.
  • Use the JRockit Management Console to monitor and manage a running JRockit instance.
  • Profile your JRockit JVM and Java application with near zero overhead using the JRockit Runtime Analyzer and the JRockit Flight Recorder.
  • Detect and resolve Java memory leaks using the JRockit Memory Leak Detector tool.
  • Learn how JRockit Virtual Edition works and why it outperforms other Java solutions in traditional virtualized environments.

In Detail

Oracle JRockit is one of the industry’s highest performing Java Virtual Machines. Java developers are always on the lookout for better ways to analyze application behavior and gain performance. As we all know, this is not as easy as it looks. Welcome to JRockit: The Definitive Guide.

This book helps you gain in-depth knowledge of Java from the JVM’s point of view. We will explain how to write code that works well with the JVM to gain performance and scalability. Starting with the inner workings of the JRockit JVM and finishing with a thorough walkthrough of the tools in the JRockit Mission Control suite, this book is for anyone who wants to know more about how the JVM executes your Java application and how to profile for better performance.

Authors

Table of Contents

Chapter 1: Getting Started
Obtaining the JRockit JVM
Migrating to JRockit
A note on JRockit versioning
Getting help
Summary
Chapter 2: Adaptive Code Generation
Platform independence
The Java Virtual Machine
Code generation strategies
Adaptive code generation
Inside the JIT compiler
The JRockit code pipeline
Controlling code generation in JRockit
Summary
Chapter 3: Adaptive Memory Management
The concept of automatic memory management
Fundamental heap management
Garbage collection algorithms
Speeding it up and making it scale
Near-real-time garbage collection
The Java memory API
Pitfalls and false optimizations
Controlling JRockit memory management
Summary
Chapter 4: Threads and Synchronization
Fundamental concepts
Java API
Implementing threads and synchronization in Java
Optimizing threads and synchronization
Pitfalls and false optimizations
JRockit flags
Summary
Chapter 5: Benchmarking and Tuning
Reasons for benchmarking
What to think of when creating a benchmark
Deciding what to measure
Industry-standard benchmarks
The dangers of benchmarking
Tuning
Common bottlenecks and how to avoid them
Wait/notify and fat locks
Summary
Chapter 6: JRockit Mission Control
Background
Mission Control overview
The Experimental Update Site
Debugging JRockit Mission Control
Summary
Chapter 7: The Management Console
A JMX Management Console
Using the console
Extending the JRockit Mission Control Console
Summary
Chapter 8: The Runtime Analyzer
The need for feedback
Analyzing JRA recordings
Troubleshooting
Summary
Chapter 9: The Flight Recorder
The evolved Runtime Analyzer
Flight Recorder in JRockit Mission Control
Differences to JRA
Adding custom events
Extending the Flight Recorder client
Summary
Chapter 10: The Memory Leak Detector
A Java memory leak
Detecting a Java memory leak
Memleak technology
Tracking down the leak
Interactive memory leak hunting
The general purpose heap analyzer
Allocation traces
Troubleshooting Memleak
Summary
Chapter 11: JRCMD
Introduction
Overriding SIGQUIT
Limitations of JRCMD
JRCMD command reference
Summary
Chapter 12: Using the JRockit Management APIs
JMAPI
JMXMAPI
Summary
Chapter 13: JRockit Virtual Edition
Introduction to virtualization
Virtualizing Java
A look ahead—can virtual be faster than real?
Summary

Book Details

ISBN 139781847198068
Paperback588 pages
Read More