1. CMD命令基础入门
对于Java开发者来说,掌握CMD命令是必备的基础技能。Windows命令提示符(Command Prompt)是与操作系统直接交互的重要工具,它能帮助我们高效完成各种开发环境配置和日常操作。
1.1 CMD基本操作与常用命令
打开CMD最简单的方式是按下Win+R组合键,输入"cmd"后回车。如果想以管理员身份运行,可以在开始菜单中找到命令提示符,右键选择"以管理员身份运行"。
几个最基础的命令需要熟练掌握:
dir:列出当前目录下的文件和子目录cd:切换目录(cd..返回上级目录)md/mkdir:创建新目录del:删除文件cls:清屏
在实际开发中,我经常使用dir /w以宽列表格式查看目录内容,或者dir /s递归显示子目录内容。对于目录切换,记住可以使用cd /d直接切换到不同盘符的目录,比如cd /d D:\projects。
1.2 环境变量与系统配置
Java开发离不开环境变量配置。在CMD中,我们可以使用set命令查看和设置环境变量:
bash复制set # 查看所有环境变量
set PATH # 查看PATH变量
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_291 # 临时设置变量
注意:直接在CMD中使用set命令设置的变量只在当前会话有效。要永久设置环境变量,需要通过系统属性->高级->环境变量进行配置。
一个实用技巧是使用where命令查找可执行文件的位置:
bash复制where java
where javac
这在我们排查"不是内部或外部命令"这类错误时特别有用。
1.3 实用CMD命令技巧
清理系统垃圾是开发者常遇到的需求,以下几个命令组合非常实用:
bash复制# 清理系统临时文件
del /q/f/s %TEMP%\*
# 清理预取文件(Windows 10/11)
del /q/f/s %SystemRoot%\Prefetch\*.*
# 清理Windows更新缓存
net stop wuauserv
rd /s/q %SystemRoot%\SoftwareDistribution\Download
net start wuauserv
对于网络相关操作,常用的有:
bash复制ipconfig /all # 查看完整网络配置
ping www.baidu.com -t # 持续ping测试网络连接
netstat -ano # 查看所有网络连接和端口占用情况
2. Java开发环境搭建
2.1 JDK安装与验证
Java开发的第一步是安装JDK。建议从Oracle官网下载最新的LTS版本(目前是Java 17)。安装完成后,在CMD中验证:
bash复制java -version
javac -version
如果出现"不是内部或外部命令"错误,说明环境变量没有配置正确。需要检查:
- JAVA_HOME变量是否指向JDK安装目录
- Path变量是否包含%JAVA_HOME%\bin
2.2 环境变量配置详解
正确的环境变量配置应该包含:
- JAVA_HOME:指向JDK安装目录,如
C:\Program Files\Java\jdk-17.0.2 - Path:添加
%JAVA_HOME%\bin
配置完成后,建议新开一个CMD窗口验证,因为环境变量修改不会自动应用到已打开的终端。
2.3 常见问题排查
问题1:java和javac版本不一致
bash复制java -version # 显示1.8
javac -version # 显示17
这说明系统中有多个Java版本,Path中可能同时存在JRE和JDK的路径。解决方案是清理Path中多余的Java路径,确保只保留一个JDK的bin目录。
问题2:Java版本冲突警告
code复制警告: 源发行版 17 需要目标发行版 17
这通常是因为IDE中的Java编译版本与项目配置不一致。需要在IDE设置中检查项目的语言级别和SDK版本。
3. Java基础开发实践
3.1 第一个Java程序
让我们用CMD编写并运行第一个Java程序:
- 创建HelloWorld.java文件:
bash复制notepad HelloWorld.java
- 输入以下代码:
java复制public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, CMD Java World!");
}
}
- 编译和运行:
bash复制javac HelloWorld.java
java HelloWorld
3.2 包管理与编译
实际项目中我们通常会使用包结构。假设我们有如下目录结构:
code复制src/
com/
example/
Main.java
编译带包结构的代码需要指定源文件位置和输出目录:
bash复制javac -d bin src/com/example/Main.java
java -cp bin com.example.Main
3.3 使用jar打包
将编译好的class文件打包成jar:
bash复制jar cvfe myapp.jar com.example.Main -C bin .
运行jar包:
bash复制java -jar myapp.jar
4. 高级技巧与工具链
4.1 批处理脚本编写
我们可以创建.bat批处理文件来自动化Java编译运行过程。例如创建run.bat:
bat复制@echo off
javac -d bin src/com/example/Main.java
if %errorlevel% equ 0 (
java -cp bin com.example.Main
)
pause
4.2 使用Maven从命令行
即使不使用IDE,我们也可以通过CMD使用Maven:
bash复制mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
cd my-app
mvn package
java -cp target/my-app-1.0-SNAPSHOT.jar com.example.App
4.3 性能监控与调优
JDK自带了许多命令行工具用于监控和调试Java应用:
bash复制jps # 列出所有Java进程
jinfo <pid> # 查看进程配置
jstat -gc <pid> 1000 10 # 每1秒打印一次GC统计,共10次
jmap -heap <pid> # 查看堆内存使用情况
jstack <pid> # 打印线程栈信息
掌握这些工具对于排查生产环境问题非常有帮助。比如当应用出现卡顿时,可以用jstack抓取线程快照,分析是否有死锁或线程阻塞情况。
