Java Tools Terminology

This section provides quick descriptions of terms related to Java tools.

Certificate: A digitally signed statement from the issuer saying that the public key of the subject has some specific value.

Certificate Chain: A series of certificates that one certificate signs the public key of the issuer of the next certificate. Usually the top certificate (the first certificate) is self-signed, where issuer signed its own public key.

"jabswitch": A Windows command to enable or disable the Java Access Bridge.

"jaccessinspector": A Windows GUI tool to examine accessible information about objects of a Java GUI application.

"jaccesswalker": A Windows GUI tool to navigate through the component trees of a Java GUI application.

JAR (Java ARchive): A platform-independent file format that aggregates many files into one. Multiple Java applets and their requisite components (.class files, images and sounds) can be bundled in a JAR file and subsequently downloaded to a browser in a single HTTP transaction, greatly improving the download speed.

"jar": The JAR manager - A command line tool for managing JAR files.

"jarsigner": The JAR Signer - A command line tool for signing JAR files and verifying signed JAR files.

"java": The Java launcher - A command line tool to launch Java applications.

"javac": The Java compiler - A command line tool to compile Java source files.

"javap": The Java Class File Disassembler - A command line tool that reads Java bytecode class files and disassembles them.

"jconsole": A graphical user interface tool that enables you to monitor and manage Java applications and virtual machines on a local or remote machine using the JMX technology.

"jdb": The Java Debugger - A command line tool to debug Java applications.

"jdeps": The Java Class Dependency Analyzer - A command line tool to show package level and class level dependencies.

"JDI (Java Debug Interface)": A high level Java API providing information useful for debuggers and similar systems needing access to the running state of a (usually remote) virtual machine.

"JDK (Java Development Kit)": A development environment for building software applications and software components using the Java programming language.

"jhat" (discontinued since JDK 9) - Heap Dump Browser: Starts a Web server on a Java heap dump file (eg, produced by "jmap -dump"), allowing the heap to be browsed.

"jinfo": Prints configuration information for a given JVM process or a Java core file on the local machine or on a remote machine through a debug server.

"jlink" - JRE Linker: Assembles and optimizes a set of modules and their dependencies into a custom JRE.

"jmap" - Memory Map: Prints shared object memory maps or heap memory details of a given JVM process or a Java core file on the local machine or on a remote machine through a debug server.

"jmc" - Java Mission Control: Invokes a GUI tool suite for managing, monitoring, profiling, and troubleshooting your Java applications. When first installed, Java Mission Control consists of the JMX Console and the Java Flight Recorder.

"JMX (Java Management Extensions)": A Java standard API for management and monitoring of resources such as applications, devices, services, and the Java virtual machine. The JMX technology was developed through the Java Community Process (JCP) as Java Specification Request (JSR) 3, Java Management Extensions, and JSR 160, JMX Remote API.

"JPDA (Java Platform Debugger Architecture)": An infrastructure that allows user to build end-user debugger applications. It includes the following three-layered APIs:

"jps" - Java Process Status: A new Java tool that lists all JVM processes on the local machine or a remote machine. "jps" tool is distributed as part of the JDK package and represented by the \Progra~1\java\jdk*\bin\jps.exe program file. "jps" can be executed with the following syntax:

"jrunscript" - Script Code Shell: Runs script code in JavaScript or other languages interactively or in batch mode.

"jsadebugd" - Serviceability Agent Debug Daemon: Attaches to a JVM process or a Java core file and acts as a debug server for remote tools to connect.

"jshell" - Java Shell: Provides an interactive shell for evaluating Java declarations, expressions, and statements.

"jstack" - Stack Trace: Prints a stack trace of threads for a given JVM process or a Java core file on the local machine or on a remote machine through a debug server.

"jstat": A JVM statistics monitoring tool that displays performance statistics of a given JVM process with a specified sampling interval. "jstat" tool is distributed as part of the JDK package and represented by the \Progra~1\java\jdk*\bin\jstat.exe program file. "jstat" can be executed with the following syntax:

"jstatd": A server that allows JVM monitoring tools like "jps" and "jstat" to access JVM processes from a remote machine. "jstatd" tool is distributed as part of the JDK package and represented by the \Progra~1\java\jdk*\bin\jstatd.exe program file. "jstatd" can be executed with the following syntax:

"jvisualvm" - Java VisualVM: A visual interface for viewing detailed information about Java applications while they are running on a Java Virtual Machine (JVM), and for troubleshooting and profiling these applications. Java VisualVM federates previously standalone tools like JConsole, jstat, jinfo, jstack, and jmap to obtain data from the JVM software, then re-organizes and presents the information graphically, to enable you to view different data about multiple Java applications uniformly, whether they are running locally or on remote machines.

JVM (Java Virtual Machine): A software that simulates a central process unit (Virtual Machine) to run compiled Java code.

"keystore": A database used by JDK "keytool" command and KeyStore class to store your own private keys, and public key certificates you received from someone else.

"keytool": A command line tool introduced in JDK 1.2 to manage keys and certificates using "keystore". "keytool" replaces the same functions offered by "javakey" in JDK 1.1.

"native2ascii": Native-to-ASCII Encoding Converter - A command line tool that reads a text file stored in a non-ASCII encoding and converts it to an ASCII text file. All non-ASCII characters will be converted into \uXXXX sequences, where dddd is the Unicode code value of the non-ASCII character.

serialver: A command line tool that can be used to generate a unique "serialVersionUID" value for any given serializable Java class.

ZIP: A file format is a popular data compression and archival format. A ZIP file contains one or more files that have been compressed or stored.

Table of Contents

 About This Book

Java Tools Terminology

 Java Tools Included in JDK

 javac - The Java Program Compiler

 java - The Java Program Launcher

 jar - The JAR File Tool

 jlink - The JRE Linker

 jmod - The JMOD File Tool

 jimage - The JIMAGE File Tool

 jpackage - Binary Package Builder

 javadoc - The Java Document Generator

 jdeps - The Java Class Dependency Analyzer

 jdeprscan - The Java Deprecated API Scanner

 jdb - The Java Debugger

 jcmd - The JVM Diagnostic Tool

 jconsole - Java Monitoring and Management Console

 jstat - JVM Statistics Monitoring Tool

 JVM Troubleshooting Tools

 jhsdb - The Java HotSpot Debugger

 jvisualvm (Java VisualVM) - JVM Visual Tool

 jmc - Java Mission Control

 javap - The Java Class File Disassembler

 keytool - Public Key Certificate Tool

 jarsigner - JAR File Signer

 jshell - Java Language Shell

 jrunscript - Script Code Shell

 Miscellaneous Tools

 native2ascii - Native-to-ASCII Encoding Converter

 JAB (Java Access Bridge) for Windows

 Archived Tutorials

 References

 Full Version in PDF/EPUB