# Java语言编译运行
java代码需要编译字节码,再通过虚拟机JVM编译成机器码才可运行:
编译时主要负责语法和类型检查,而运行时则负责实例化对象、执行方法等任务。
# 编译
javac HelloWorld.java
1
编译阶段主要完成以下几个工作:
- 词法分析:对代码进行词法分析产生字符流;
- 语法分析:编译器会对代码进行语法分析,检查代码是否符合语法规则;
- 语义分析:编译器会进一步检查代码语义是否正确。比如,变量是否已经声明、类型是否匹配等;
- 生成字节码:编译器会将代码转化为字节码,字节码包含了 Java 虚拟机指令集中的指令、常量池和其他相关信息;
# 运行
java HelloWorld
1
在运行时,该阶段主要完成了以下几个工作:
- 类加载器:字节码文件经过类加载器到JVM内存;
- 类解释器:字节码经过字节码解释器解释成系统可识别的指令码;
- 执行阶段:系统再向硬件设备发送指令码执行操作。
# 参考
Java编译原理(javac) (opens new window)
🥰Me
男性,武汉工作,会点Web,擅长Javascript.
技术或工作问题交流,可联系微信:1169170165.
🚀小程序&公众号
🚀运行
2024年2月19日星期一下午2点01分
博客已运行:--天--时--分--秒