第二节:JVM如何运行Java代码?
“二哥,看了 Hello World 的代码后,我很好奇,它是怎么在 IDEA 的 Run 面板里打印出‘三妹,少看手机少打游戏,好好学,美美哒’呢?”三妹咪了一口麦香可可奶茶后对我说。
“三妹,我们通常把 Java 代码执行的过程分为编译期和运行时,弄清楚这两个阶段就知道原因了。”我微笑着对三妹说,“对于一个 Java 程序员来说,写了那么久的代码,总要搞清楚自己写的 Java 代码到底是怎么运行起来的。这个问题在面试的时候也经常会被问到。”
一起来看下吧。
编译期
贴一下 HelloWorld 这段代码:
/**
* @author 微信搜「沉默王二」,回复关键字 PDF
*/
public class HelloWorld {
public static void main(String[] args) {
System.out.println("三妹,少看手机少打游戏,好好学,美美哒。");
}
}
点击 IDEA 工具栏中的锤子按钮(Build Project,编译整个项目,通常情况下,并不需要主动编译,IDEA 会自动帮我们编译),如下图所示。

这时候,就可以在 src 的同级目录 target 下找到一个名为 HelloWorld.class 的文件。

如果找不到的话,在目录上右键选择「Reload from Disk,从磁盘上重新加载」,如下图所示:

可以双击打开它,看到如下所示的内容。
//
// Source code recreated from a .class file by IntelliJ IDEA
//...
已加入星球,可直接知识星球授权登录
二哥编程星球目前包含:
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
回复