语法糖
Java 中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、内部类等。虚拟机并不支持这些语法,它们在编译阶段就被还原回了简单的基础语法结构,这个过程成为解语法糖。
编译器介绍
前端编译器
源码->字节码, javac
- 语法分析, 代码->Token, Token->语法树
- 填充符号表
- 语义分析, 保证逻辑性
- 字节码生成
后端编译器
字节码->机器码, 比如HotSpot自带的JIT, 当虚拟机发现某个方法或代码块运行特别频繁时, 就会把这些代码认定为Hot Spot Code
, 虚拟机将会把这些代码编译成与本地平台相关的机器码