| 1 |
java |
启动JVM。运行Java应用程序的最基础入口。 |
java com.example.Main |
| 2 |
javac |
编译源码。将 .java 文件编译为 .class 字节码。 |
javac User.java |
| 3 |
jps |
查看Java进程。列出本地运行的Java进程及其PID。 |
jps -lm |
| 4 |
-Xmx |
最大堆内存。限制JVM最大内存占用,防止宿主机OOM。 |
java -Xmx4g -jar app.jar |
| 5 |
-Xms |
初始堆内存。与 -Xmx 设为同值以避免堆扩容开销。 |
java -Xms4g -Xmx4g -jar app.jar |
| 6 |
jcmd |
全能诊断工具。官方推荐替代多种单一工具的“瑞士军刀”。 |
jcmd 12345 Thread.print |
| 7 |
jstack |
生成线程快照。排查死锁、CPU飙高和线程阻塞的利器。 |
jstack -l 12345 > thread_dump.txt |
| 8 |
jmap |
生成堆快照。分析内存泄漏(常搭配 -dump 使用)。 |
jmap -dump:format=b,file=heap.hprof 12345 |
| 9 |
-jar |
运行可执行JAR。微服务最常见的部署命令格式。 |
java -jar app.jar |
| 10 |
-cp / -classpath |
指定类路径。指示JVM去哪里加载自定义类和第三方包。 |
java -cp "lib/*:." com.example.Main |
| 11 |
-D<name>=<value> |
设置系统属性。向程序传递环境变量。 |
java -Dspring.profiles.active=prod -jar app.jar |
| 12 |
jstat |
监视运行统计。实时查看类加载、内存和GC的变动情况。 |
jstat -gcutil 12345 1000 5 |
| 13 |
-XX:+HeapDumpOnOutOfMemoryError |
OOM时导出堆快照。最关键的崩溃现场保护参数。 |
java -XX:+HeapDumpOnOutOfMemoryError -jar app.jar |
| 14 |
-XX:HeapDumpPath=<path> |
指定堆快照路径。防止OOM生成的dump文件占满系统盘。 |
java -XX:HeapDumpPath=/var/log/dumps/ -jar app.jar |
| 15 |
-Xlog:gc* |
统一日志配置(JDK 9+)。打印详细的GC日志用于调优。 |
java -Xlog:gc*=info:file=gc.log:time -jar app.jar |
| 16 |
-XX:MaxMetaspaceSize |
最大元空间大小。防止动态类加载过多导致Metaspace溢出。 |
java -XX:MaxMetaspaceSize=512m -jar app.jar |
| 17 |
-Xss |
线程栈大小。影响并发线程数及方法调用的深度。 |
java -Xss512k -jar app.jar |
| 18 |
jinfo |
查看/动态修改配置。打印或在运行时修改部分JVM Flag。 |
jinfo -flags 12345 |
| 19 |
jar |
打包工具。创建、查看或提取 .jar 文件内容。 |
jar -cvf app.jar -C out/ . |
| 20 |
-XX:+UseG1GC |
启用G1收集器。明确指定使用G1垃圾收集器。 |
java -XX:+UseG1GC -jar app.jar |
| 21 |
jfr |
飞行记录器CLI(JDK 11+)。解析和操作JFR二进制事件文件。 |
jfr print --events CPULoad recording.jfr |
| 22 |
-XX:StartFlightRecording |
启动JFR录制。应用启动时直接开启低开销的性能记录。 |
java -XX:StartFlightRecording=filename=rec.jfr -jar app.jar |
| 23 |
-XX:MaxDirectMemorySize |
最大直接内存。NIO/Netty等使用堆外内存时的关键限制参数。 |
java -XX:MaxDirectMemorySize=1g -jar app.jar |
| 24 |
--add-opens |
开放模块级反射(JDK 9+)。解决框架使用反射时的强封装拦截。 |
java --add-opens java.base/java.lang=ALL-UNNAMED ... |
| 25 |
javap |
字节码反编译。查看类的内部结构、常量池和汇编指令。 |
javap -c -v User.class |
| 26 |
-XX:+UseZGC |
启用ZGC(JDK 11+)。启用现代超低延迟的垃圾收集器。 |
java -XX:+UseZGC -jar app.jar |
| 27 |
jconsole |
JMX可视化监控。图形界面查看内存、线程、类及MBean。 |
jconsole 12345 |
| 28 |
jdeps |
类依赖分析器。分析JAR包依赖关系,助力模块化迁移。 |
jdeps --jdk-internals app.jar |
| 29 |
jshell |
交互式工具(JDK 9+)。REPL环境,用于快速测试Java代码片段。 |
jshell |
| 30 |
-XX:+PrintCommandLineFlags |
打印生效的启动参数。检查JVM自动推断或默认开启了哪些参数。 |
java -XX:+PrintCommandLineFlags -version |
| 31 |
-XX:MaxGCPauseMillis |
最大GC停顿时间。G1GC的核心调优目标,指导GC行为。 |
java -XX:MaxGCPauseMillis=200 -jar app.jar |
| 32 |
-XX:MetaspaceSize |
初始元空间大小。达到该值会触发首次Full GC,通常与Max同值。 |
java -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m ... |
| 33 |
--module-path / -p |
模块路径(JDK 9+)。类似于classpath,但专用于Java模块。 |
java -p mods/ -m com.example.module/Main |
| 34 |
--module / -m |
运行模块(JDK 9+)。指定需要启动的主模块及其主类。 |
java -m my.module/com.app.Main |
| 35 |
jlink |
自定义JRE构建(JDK 9+)。按需打包仅包含必需模块的精简JRE。 |
jlink --module-path jmods --add-modules java.base --output myjre |
| 36 |
jhsdb |
HotSpot调试器(JDK 9+)。JVM假死时强行挂载分析的核心工具。 |
jhsdb jstack --pid 12345 |
| 37 |
-showversion |
显示版本并继续。在应用日志开头打印JDK版本信息,方便排障。 |
java -showversion -jar app.jar |
| 38 |
-XX:+CrashOnOutOfMemoryError |
OOM时立即崩溃。发生OOM时不再苟活,直接终止进程(利于K8s重启)。 |
java -XX:+CrashOnOutOfMemoryError -jar app.jar |
| 39 |
-XX:ErrorFile |
指定崩溃日志路径。JVM发生严重错误(如C++层面段错误)时的输出。 |
java -XX:ErrorFile=/var/log/hs_err_pid%p.log -jar app.jar |
| 40 |
javadoc |
生成API文档。从源码注释中提取并生成HTML格式的开发文档。 |
javadoc -d doc/ src/**/*.java |
| 41 |
-XX:+DisableExplicitGC |
禁用显式GC。屏蔽代码中的 System.gc() 调用,防止误触发Full GC。 |
java -XX:+DisableExplicitGC -jar app.jar |
| 42 |
-XX:SurvivorRatio |
Eden与Survivor比例。微调年轻代内存布局(通常默认值为8)。 |
java -XX:SurvivorRatio=8 -jar app.jar |
| 43 |
-XX:NewRatio |
老年代与年轻代比例。控制堆内存中两代的占比(通常默认值为2)。 |
java -XX:NewRatio=2 -jar app.jar |
| 44 |
jpackage |
原生应用打包(JDK 14+)。将Java应用打包为系统原生安装包(如deb/msi)。 |
jpackage --name MyApp --input lib --main-jar app.jar |
| 45 |
jdeprscan |
废弃API扫描(JDK 9+)。扫描class文件,检查是否使用了即将废弃的API。 |
jdeprscan --release 17 app.jar |
| 46 |
jmod |
模块文件工具(JDK 9+)。创建包含原生代码或配置文件的 JMOD 归档。 |
jmod create --class-path classes mymodule.jmod |