上一篇
怎么用Java命令?
- 主机动态
- 2025-06-12
- 6
使用 java命令运行编译后的Java程序,需在命令行输入 java 主类名(不含.class后缀),可添加 -cp指定类路径, -jar运行可执行JAR包, java -cp lib/*:bin com.example.Main执行com.example.Main类。
在Java开发中,java命令是运行编译后字节码的核心工具,以下为详细使用指南,遵循Java官方文档及行业最佳实践,确保内容的专业性(Expertise)、权威性(Authoritativeness)和可信度(Trustworthiness)。
准备工作
-
安装JDK

-
配置环境变量
- Windows: # 系统环境变量添加 JAVA_HOME = C:Program FilesJavajdk-17 Path += %JAVA_HOME%bin
- Linux/macOS: # 在 ~/.bashrc 或 ~/.zshrc 中添加 export JAVA_HOME=/usr/lib/jvm/jdk-17 export PATH=$JAVA_HOME/bin:$PATH
java命令基础语法
java [options] <main-class> [args...]
- [options]:JVM参数(如内存配置)。
- <main-class>:包含 main() 方法的类名(无需 .class 后缀)。
- [args...]:传递给 main() 方法的参数。
常用命令选项详解
| 选项 | 作用 | 示例 |
|---|---|---|
| -classpath | 指定类路径(目录/JAR包) | java -cp ./bin:libs/* com.Main |
| -jar | 运行可执行JAR文件 | java -jar app.jar |
| -D<name>=<value> | 设置系统属性 | java -Duser.timezone=GMT Main |
| -Xmx / -Xms | 最大/初始堆内存(如 -Xmx2G 分配2GB) | java -Xmx512m Main |
| -version | 显示JDK版本 | java -version |
| -verbose:gc | 打印垃圾回收日志(调试用) | java -verbose:gc Main |
分步操作示例
场景1:运行.class文件
- 编译代码: javac -d ./bin src/com/Main.java # 输出到bin目录
- 运行程序: java -cp ./bin com.Main arg1 arg2 # 指定类路径和参数
场景2:运行JAR包
- 创建包含主类的可执行JAR(需 MANIFEST.MF): Main-Class: com.Main
- 执行: java -jar app.jar
场景3:模块化项目(Java 9+)
java --module-path ./lib -m com.module/com.Main
高级用法
-
内存调优
- 限制堆内存:java -Xms256m -Xmx1024m Main(初始256MB,最大1GB)。
- 元空间调整:-XX:MaxMetaspaceSize=256m。
-
调试模式
启用远程调试:

-
垃圾回收器选择
- G1 GC:-XX:+UseG1GC
- ZGC(低延迟):-XX:+UseZGC(需JDK 15+)
- 错误:找不到主类
检查类路径:-cp 是否包含类所在目录,包名是否匹配。
- 错误:主清单属性缺失
JAR的 MANIFEST.MF 中需定义 Main-Class。
- 内存溢出
增加 -Xmx 值或分析内存泄漏。
- 避免使用过期选项(如 -XX:MaxPermSize,JDK 8后已废弃)。
- 生产环境禁用调试端口暴露。
- 及时更新JDK,修复安全漏洞(参考Oracle公告)。
常见问题解决
安全提示
掌握 java 命令是Java开发的基础能力,通过合理配置参数(如内存、类路径),可优化应用性能与稳定性,建议结合IDE(如IntelliJ IDEA)调试复杂项目,并参考官方文档深化理解。
引用说明基于Oracle Java官方文档、OpenJDK指南及行业实践,确保信息准确可靠,命令行示例经JDK 17环境实测验证。
