Java 命令速查表 - Java 编译运行与 JVM 调优命令大全
这套速查给写 Spring Boot / WAR 应用或负责其线上运维的 Java 开发者:从 javac/java/jar 编译打包,到 Maven/Gradle 一键构建,再到 -Xms/-Xmx 堆设置、G1 GC、GC 日志,以及服务卡顿时用 jstack/jmap/jstat 抓线程和堆。与泛泛的命令清单不同,这里按"怎么把这套服务构建出来、跑稳、调快、排掉故障"组织。读完应能独立完成一次"构建→上线→GC 调优→死锁排查"的完整流程。
编译与运行 6
javac Main.javajava -cp .:lib.jar Mainjava -cp ".;lib.jar" Mainjar cvf app.jar *.classjar tf app.jarjar xf app.jarMaven 常用命令 8
mvn cleanmvn compilemvn testmvn packagemvn installmvn dependency:treemvn -U clean packagemvn spring-boot:runGradle 常用命令 6
./gradlew build./gradlew clean./gradlew test./gradlew bootRun./gradlew dependencies./gradlew tasksJVM 参数与调优 6
java -Xms512m -Xmx2g -jar app.jarjava -XX:+UseG1GC -jar app.jarjava -XX:+PrintGCDetails -Xloggc:gc.logjava -XX:+HeapDumpOnOutOfMemoryErrorjava -XX:HeapDumpPath=/tmp/dump.hprofjava -verbose:gcJVM 排障工具 8
jps -ljstack <pid>jmap -heap <pid>jmap -dump:format=b,file=dump.hprof <pid>jstat -gcutil <pid> 1000jinfo <pid>jconsolevisualvm提示
- jstack 排查死锁时,找 "Found one Java-level deadlock" 关键字。
- HeapDump 文件可能很大,生产环境先确认磁盘空间。
- G1 GC 适合大堆(>6G),小堆用 Parallel GC 吞吐更高。
常见问题
Java 程序卡住了怎么排查?
先用 jps -l 列出本机 Java 进程拿到 pid,再用 jstack <pid> 打印线程堆栈,看有没有 "Found one Java-level deadlock" 提示,或找处于 BLOCKED/WAITING 的线程定位死锁点。要看内存则用 jmap -heap <pid> 判断是否接近上限,确认是内存问题后用 jmap -dump:format=b,file=dump.hprof <pid> 导出快照离线分析。
mvn install 和 mvn package 有什么区别?
package 只把产物打成 jar/war 放在本项目 target 目录;install 会额外把它安装进本地 ~/.m2 仓库,这样同机器上的其他模块可以按坐标直接引用。单模块开发用 package 就够,多模块工程里被依赖的模块需要 install。日常构建前加 mvn clean,避免上次的旧 class 混入。
什么时候该用 Gradle 而不是 Maven?
看生态依赖而非性能。Spring Boot 3、Kotlin、Android 等新项目默认推荐 Gradle,插件生态和增量构建更活跃;存量大型企业项目往往仍是 Maven。不要在同一仓库里混用两套构建工具,会造成配置分裂。想了解某个模块依赖解析结果时,./gradlew dependencies 能像 mvn dependency:tree 一样列出完整版本。
JVM 内存参数怎么设置比较合理?
用 -Xms512m -Xmx2g 把堆的初始值与上限设成一致,避免运行中反复扩缩容造成停顿。初始值等于上限能让 JVM 一次性向操作系统申请内存,省掉动态调整的开销。垃圾收集器上,现代 JDK 默认的 G1 在多数场景够用,要显式指定可用 -XX:+UseG1GC。
怎么判断应用是不是在频繁 Full GC?
用 jstat -gcutil <pid> 1000 每秒输出各代使用率与 GC 次数,观察老年代使用率是否持续逼近上限且 Full GC 计数不断增长。也可以加 -XX:+PrintGCDetails 把 GC 详情打到日志里。确认后先看是不是内存配置不合理或存在内存泄漏,再考虑调参。
由 巧匠 维护
公开更新于 2026年7月21日,内容持续校对官方文档。