Java作为一门广泛使用的编程语言,其开发、编译和运行过程涉及多种基本命令,这些命令涵盖了从代码编译、运行到环境配置、文档生成等多个方面,是Java开发者日常工作中不可或缺的工具,以下将详细介绍Java开发中常用的基本命令,并辅以表格说明,帮助开发者更好地掌握和使用这些命令。

Java环境配置相关命令
在开始Java开发之前,正确配置Java环境变量是基础,主要涉及以下命令:
- java:用于运行已编译的Java字节码文件(.class文件),运行
HelloWorld.class文件,可在命令行中输入java HelloWorld(注意不加扩展名)。 - javac:Java编译器,用于将Java源代码(.java文件)编译成字节码文件,编译
HelloWorld.java文件,输入javac HelloWorld.java,生成HelloWorld.class。 - java -version:检查当前安装的Java版本,确认环境变量是否配置正确,输出类似
java version "1.8.0_291"的信息。 - javac -version:检查Java编译器的版本,通常与Java版本一致。
Java运行与调试命令
- java:除了运行普通程序,还可通过参数配置运行环境。
java -jar app.jar:运行可执行的JAR文件。java -Xms512m -Xmx1024m HelloWorld:设置JVM初始堆内存(512MB)和最大堆内存(1024MB)。java -Dfile.encoding=UTF-8 HelloWorld:设置系统属性,如文件编码为UTF-8。
- jps(Java Virtual Machine Process Status):查看当前运行的Java进程及其ID。
jps会列出所有Java进程的PID和主类名。 - jstat(JVM Statistics Monitoring Tool):监控JVM运行状态,如内存使用、垃圾回收情况等。
jstat -gc 1234 1s每秒监控PID为1234的进程的GC情况。 - jstack(Java Stack Trace):生成Java线程的堆栈跟踪信息,用于调试死锁等问题。
jstack -l 1234 > thread.log将PID为1234的线程堆栈信息保存到文件。
Java文档生成命令
- javadoc:从Java源代码生成HTML格式的API文档。
javadoc -d doc -author -version HelloWorld.java会在doc目录下生成包含作者和版本信息的文档。- 常用参数:
-d:指定文档输出目录。-author:包含作者信息。-version:包含版本信息。-private:包含所有类和成员的文档(默认为public)。
- 常用参数:
Java打包与工具命令
- jar(Java Archive):用于将多个文件或目录打包成JAR文件,或解压JAR文件。
jar -cvf myapp.jar MyClass.class:创建名为myapp.jar的文件,包含MyClass.class。jar -xvf myapp.jar:解压myapp.jar。jar -tf myapp.jar:列出myapp.jar中的文件。
- keytool:管理密钥和证书库(.keystore文件),用于数字签名和HTTPS配置。
keytool -genkey -alias mykey -keystore mykeystore.jks:生成密钥并存储到mykeystore.jks。
- jarsigner:对JAR文件进行数字签名。
jarsigner -keystore mykeystore.jks myapp.jar mykey使用mykey对myapp.jar签名。
Java高级工具命令
- jmap(Memory Map):生成JVM的内存转储快照,用于分析内存泄漏。
jmap -dump:format=b,file=heapdump 1234将PID为1234的进程内存快照保存到heapdump文件。 - jhat(JVM Heap Analysis Tool):分析内存转储文件,提供Web界面查看对象内存占用。
jhat heapdump启动后可通过浏览器访问http://localhost:7000查看。 - jcmd:多功能命令行工具,可执行多种JVM操作,如查看进程信息、执行GC等。
jcmd 1234 GC.run强制PID为1234的进程执行垃圾回收。
Java编译器高级选项
- javac -classpath:指定编译时依赖的类路径。
javac -classpath /lib/*.java HelloWorld.java编译时引用/lib目录下的所有JAR包。 - javac -sourcepath:指定源代码路径,用于引用其他源文件。
javac -sourcepath src -d bin src/com/example/HelloWorld.java将编译后的类文件输出到bin目录。 - javac -target:指定生成的字节码版本。
javac -target 1.8 HelloWorld.java生成兼容Java 1.8的字节码。
常用Java命令速查表
| 命令 | 功能描述 | 示例 |
|---|---|---|
javac | 编译Java源代码 | javac HelloWorld.java |
java | 运行Java字节码 | java HelloWorld |
java -version | 检查Java版本 | java -version |
jps | 查看Java进程 | jps |
javadoc | 生成API文档 | javadoc -d doc HelloWorld.java |
jar | 打包/解压JAR文件 | jar -cvf myapp.jar MyClass.class |
keytool | 管理密钥和证书 | keytool -genkey -alias mykey -keystore mykeystore.jks |
jmap | 生成内存转储快照 | jmap -dump:format=b,file=heapdump 1234 |
相关问答FAQs
Q1: 如何在命令行中设置Java环境变量?
A1: 以Windows系统为例,右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中新建JAVA_HOME变量(值为JDK安装路径,如C:\Program Files\Java\jdk1.8.0_291),并在Path变量中添加%JAVA_HOME%\bin,保存后重启命令行即可使用java和javac命令。
Q2: 运行Java程序时出现“ClassNotFoundException”错误,如何解决?
A2: 该错误通常是因为JVM无法找到指定的类文件,解决方法:
- 检查类名是否正确(区分大小写)。
- 使用
-classpath或-cp参数指定类路径,例如java -cp /path/to/classes HelloWorld。 - 如果依赖第三方JAR包,需将其包含在类路径中,如
java -cp /lib/*:. HelloWorld(表示引用所有JAR,表示当前目录)。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/399623.html<
