JVM系列(六)编译器优化

早期(编译期)优化

开始——生成字节码为止;
  • 解析与填充符号表过程;
  • 插入式注解处理器的注解处理过程;
  • 语义分析与字节码生成过程。
 
 
java的语法糖
泛型——java的泛型是“伪泛型”,在编译期优化中变成强制转换的。
变长参数—— foo(String str,Object...args)
boxing/unboxing——编译期对比
条件编译
  1. if(true){    
  2.     System.out.println("oliver");    
  3. }else{    
  4.     System.out.println("lee");    
  5. }
  1. System.out.println("oliver");    
 
 

晚期(运行期)优化

即时编译、JIT编译。这些都是非必须的。
 
例如:多次被调用的方法、循环体。
原文地址:https://www.cnblogs.com/ELMND/p/4740570.html