Java is one of the most popular programming languages in the world. The Java Runtime Environment enables Java programs to be executed on different platforms. Command-line tools help developers during the development process and make the tasks easier. Today, I will share six useful command-line tools every Java developers should know.
Useful Command Line Tools For Java Developers
1. Java Statistics Aggregator (jstat)
Java statistics aggregator or jstat command is used when you encounter a runtime problem with your application. It’s a utility tool that displays performance statistics for an instrumented hotspot Java virtual machine (JVM). Heap size and JRE automatic garbage collection algorithm are some of the most discussed things of JVM.
2. Java Dependency Manager (jdeps)
jdeps is a Java class dependency analyzer useful for quickly identifying static dependencies of applications and libraries. The latest version of Java i.e Java 12 brings many useful features. It supports adding references to internal APIs. Jdeps also provide suggestions about newer and preferable API you can use to replace the existing one.
3. Java Compiler (javac)
Javac is one of the most useful command-line tools for developers. It remains in the JDK’s bin directory and powers many popular IDEs like SpringSource IDE, Gradle, Maven, Jenkins Cl, etc. It’s used to troubleshoot any problems if arises in the project’s build and deployment pipeline.
4. Java Profiler (javap)
The reverses the compilation, separate class files and show you what’s inside them. It’s also called ‘disassembler’ that people don’t use so often, but you can use this command to know how a particular Java statement works. You can use this command to see the methods available in a class in case you don’t have access to the source code.
5. Java Archive Utility (jar)
Java Archive Utility or jar command is used to create a compressed archive file. It’s another useful tool that a lot of developers uses regularly. Jar utility is also useful when you want to compare one version of code release with the another or specify the entry point for embedded JAR files or other executables.
6. JVM Process Status Tool (jps)
This tool works in an operating system independent way and provides a convenient way to determine process ID (PID) of the Java process. Suppose, you’ve started a program and want to connect it with Java Memory-Map (jmap). Now, in order to do this, we need the PID and that’s where jps comes in.
In most cases, the combination of flags ‘-mlv’ works really good. It prints out the main method args, full packages names arguments given to the JVM.
Those were some of the useful command-line tools every Java developer should know. I know, with time, Java and almost every related tools have improved a lot. But still, developers rely on the command line for many important tasks.
Apart from this, if you are beginner, experts always recommend to at least have basic ideas about popular command-line tools. It will not only help you in academics but also in your career. If you know about any other command-line tool that deserves to be in this kind of list, do let us know in the comments below.