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

Limitations of JRCMD


The tools.jar in the JDK contains an API for attaching to a running JVM—the Java Attach API. This is the API used by Mission Control to automatically detect the locally running JVMs. The same framework is also utilized by JRCMD to invoke diagnostic commands.

When a JVM is started, an entry will be created in the temporary directory of the user starting the JVM process. These entries can then be used by JRCMD, through the Java Attach API, to find the JVMs started by the same user as the one running JRCMD. For this to be secure, the Attach API relies on a properly set up temporary directory on a file system with per-file access rights. This means that if the folder is on an insecure file system, such as FAT; JRCMD will not work. It also means that the user running JRCMD and the user running the Java process must be the same. Another implication is that a Java process running as a service on Windows will not be reachable from a JRCMD started from the desktop—they are running...