Java CLI JDK command line
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
java Hello.javajavac -d out src/*.java
java -cp out Main
jar --create --file app.jar --main-class Main -C out
.
java -jar app.jar
java -Xmx2g -jar app.jar
jshelljcmdConcepts
- Main.java source
- Main.class bytecode
- app.jar archive
- JVM running app
Run
java -versionjava <File>.java [args]
java -cp <path> <MainClass> [args]
java -jar <file.jar> [args]
java -Dkey=value ...
java -ea ...java -m <module>/<MainClass>
java --enable-preview ...
java @<argfile>
java --helpjava -XClass path & modules
-cp "lib/*:out"
--module-path <dir> / -p <dir>
--add-modules <mod>[,<mod>]
--add-opens <mod>/<pkg>=ALL-UNNAMED
--add-exports <mod>/<pkg>=ALL-UNNAMED
java --list-modules
java --describe-module <mod>
Memory & JVM flags
-Xmx<size>
-Xms<size>
-Xss<size>
-XX:MaxRAMPercentage=<n>
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=<file>
-verbose:gcjava -XX:+PrintFlagsFinal -version
Compile (javac)
javac <File>.java
javac -d <dir> <files>
javac -cp <path> <files>
javac --release <n> <files>
javac -Xlint:all <files>
javac -encoding UTF-8 <files>
javac -sourcepath <dir> <File>.java
javac -parameters <files>
javac -Werror <files>
javac @<argfile>
Package (jar)
jar --create --file <f.jar> -C <dir> .
jar --create --file <f.jar> --main-class
<Class> -C <dir> .
jar -tf <f.jar>
jar -xf <f.jar> [<entry>]
jar --update --file <f.jar> -C <dir>
<file>
jar --create --file <f.jar> --manifest <file>
-C <dir> .
jar --describe-module --file <f.jar>
jshell
jshelljshell --class-path <path>
/vars/methods/imports/list/save <file>
/open <file>
/reset/helpDiagnose
jcmdjps -ljcmd <pid> Thread.print
jstack <pid>
jcmd <pid> GC.heap_info
jcmd <pid> GC.class_histogram
jcmd <pid> GC.heap_dump <file>
jcmd <pid> VM.flags
jcmd <pid> VM.system_properties
jcmd <pid> VM.command_line
jcmd <pid> JFR.start duration=60s
filename=<f.jfr>
jcmd <pid> help
Environment
JAVA_HOMEJAVA_TOOL_OPTIONS
JDK_JAVA_OPTIONS
CLASSPATHRecipes
javac -d out $(find src -name '*.java')jar --create --file app.jar --main-class com.example.Main -C out .java -jar app.jar
javac -cp "lib/*" -d out src/Main.javajava -cp "out:lib/*" Main
jps -ljcmd <pid> Thread.print -l > threads.txtjcmd <pid> GC.heap_info
java -Xmx512m \ -XX:+HeapDumpOnOutOfMemoryError \ -XX:HeapDumpPath=/tmp/heap.hprof \ -jar app.jar



