Chapter 13. Platform Tools

This chapter discusses the tools that ship with the OpenJDK version of the Java platform. The tools covered are all command-line tools. If you are using a different version of Java, you may find similar but different tools as part of your distribution instead.

Later in the chapter, we devote a dedicated section to the jshell tool, which has introduced interactive development to the Java platform as of version 9.

Command-Line Tools

The command-line tools we cover are the most commonly used tools, and those of greatest utility—they are not a complete description of every tool that is available. In particular, tools concerned with CORBA and the server portion of RMI are not covered, as these modules have been removed from the platform with the release of Java 11.


In some cases, we need to discuss switches that take filesystem paths. As elsewhere in the book, we use Unix conventions for such cases.

The tools we are discussing are:

  • javac

  • java

  • jar

  • javadoc

  • jdeps

  • jps

  • jstat

  • jstatd

  • jinfo

  • jstack

  • jmap

  • javap

  • jaotc

  • jlink

  • jmod


Basic usage

javac some/package/


javac is the Java source code  compiler—it produces bytecode (in the form of .class files) from .java source files.

For modern Java projects, javac is not often used directly, as it is rather low-level and unwieldy, especially for larger codebases. Instead, modern integrated development environments (IDEs) either drive javac automatically ...

Get Java in a Nutshell, 7th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.