调试程序 和 编译发布
掌握命令行编译运行 Java 程序
学会 IDEA 断点调试方法
理解编译执行的完整流程
核心讲解
(1)编译执行过程
Java 是编译 + 解释型语言:
源码
.java→ javac 编译 → 字节码.classJVM 解释执行字节码
一次编译,到处运行,跨平台
(2)命令行编译运行
编译:
javac 文件名.java,生成 class 文件运行:
java 类名,注意不要加.class 后缀带包的类:要编译出包结构,运行也要包名 + 类名
(3)IDEA 调试
断点:点击行号左边,红点
F9:运行到下一个断点
F8:单步跳过,不进入方法
F7:单步进入,进入方法内部
Shift+F8:跳出方法
变量窗口:查看所有变量的值
(4)打包发布
普通项目打成 jar 包
用 jar 命令,或者 IDEA 构建
运行 jar:
java -jar xxx.jar
操作示例
# 命令行编译运行
# 1. 编译
javac Hello.java
# 2. 运行
java Hello
# 带包的编译
javac -d . Hello.java
# 运行
java com.demo.Hello
# 打jar包
jar cvf hello.jar com/
# 运行jar
java -cp hello.jar com.demo.Hello
常见误区
运行加.class 后缀:
java Hello.class错,应该java Hello包结构不对:带包的类,目录结构要和包名一致
调试用 System.out:复杂问题要用断点调试,比打印高效太多
编译版本运行版本不兼容:高版本编译的 class,低版本 JVM 跑不了
课后练习
用命令行编译运行一个 HelloWorld 程序
在 IDEA 中设置断点,调试一个程序,观察变量变化
尝试把项目打成 jar 包,命令行运行
简述 Java 从源码到运行的完整过程

