Book Image

Oracle JRockit: The Definitive Guide

Book Image

Oracle JRockit: The Definitive Guide

Overview of this book

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.
Table of Contents (23 chapters)
Oracle JRockit
Credits
Foreword
About the Authors
Acknowledgement
About the Reviewers
Preface
12
Using the JRockit Management APIs
Bibliography
Glossary
AST
CAS
HIR
IR
JFR
JMX
JRA
JSR
LIR
MD5
MIR
PDE
RCP
SWT
TLA
Index

Summary


It is hard to code and debug in a parallel environment. Java can give us some help here, with its built-in mechanisms for synchronization and the data structures in the JDK. As synchronization is integrated into the Java language, using it comes naturally. Every object in Java may be a monitor object and used for synchronization. The downside is that if it is too easy to use synchronization, it might be used unnecessarily.

This chapter also covered the Java Memory Model that is meant to unify the parallel behavior of multithreaded Java across all hardware architectures, as well as the problems therein.

We covered the implementation of synchronization and threads in a virtual machine and went over the most common ways of implementing adaptive locks, using thin locks and fat locks. In an adaptive runtime, locks can be inflated or deflated, based on runtime feedback, turning one into another depending on contention level.

Some basic optimizations were explained; most notably the lazy unlocking...