A Java agent allows for the instrumentation of a Java application by using another Java program that is specified on the command line.