# Java语言编译运行

java代码需要编译字节码,再通过虚拟机JVM编译成机器码才可运行:

编译时主要负责语法和类型检查,而运行时则负责实例化对象、执行方法等任务。

# 编译

javac HelloWorld.java
1

编译阶段主要完成以下几个工作:

  • 词法分析:对代码进行词法分析产生字符流;
  • 语法分析:编译器会对代码进行语法分析,检查代码是否符合语法规则;
  • 语义分析:编译器会进一步检查代码语义是否正确。比如,变量是否已经声明、类型是否匹配等;
  • 生成字节码:编译器会将代码转化为字节码,字节码包含了 Java 虚拟机指令集中的指令、常量池和其他相关信息;

# 运行

java HelloWorld
1

在运行时,该阶段主要完成了以下几个工作:

  • 类加载器:字节码文件经过类加载器到JVM内存;
  • 类解释器:字节码经过字节码解释器解释成系统可识别的指令码;
  • 执行阶段:系统再向硬件设备发送指令码执行操作。

# 参考

Java编译原理(javac) (opens new window)

如何编译和运行Java文件? (opens new window)

JVM基础(一)JVM的工作流程 (opens new window)

🥰Me

男性,武汉工作,会点Web,擅长Javascript.

技术或工作问题交流,可联系微信:1169170165.

🚀小程序&公众号
🚀运行
2024年2月19日星期一下午2点01分
博客已运行:--天--时--分--秒
上次更新: 12/25/2023, 11:44:09 AM

评 论: