PacktLib: Oracle JRockit: The Definitive Guide

Oracle JRockit

Credits

Foreword

About the Authors

Acknowledgement

About the Reviewers

Preface

Getting Started

Obtaining the JRockit JVM

Migrating to JRockit

A note on JRockit versioning

Getting help

Summary

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

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

Threads and Synchronization

Fundamental concepts

Java API

Implementing threads and synchronization in Java

Optimizing threads and synchronization

Pitfalls and false optimizations

JRockit flags

Summary

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

JRockit Mission Control

Background

Mission Control overview

The Experimental Update Site

Debugging JRockit Mission Control

Summary

The Management Console

A JMX Management Console

Using the console

Extending the JRockit Mission Control Console

Summary

The Runtime Analyzer

The need for feedback

Analyzing JRA recordings

Troubleshooting

Summary

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

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

JRCMD

Introduction

Overriding SIGQUIT

Limitations of JRCMD

JRCMD command reference

Summary

Using the JRockit Management APIs

JMAPI

JMXMAPI

Summary

JRockit Virtual Edition

Introduction to virtualization

Virtualizing Java

A look ahead—can virtual be faster than real?

Summary

Bibliography

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Glossary

Index