JVM系列(六)编译器优化

本文深入探讨了Java编程语言中的早期与晚期优化策略,包括编译期优化和运行期优化,具体阐述了如泛型、变长参数、boxing/unboxing、条件编译等语法糖在编译期的优化过程,以及即时编译、JIT编译等在运行期的优化实例。

早期(编译期)优化

开始——生成字节码为止;
  • 解析与填充符号表过程;
  • 插入式注解处理器的注解处理过程;
  • 语义分析与字节码生成过程。
 
 
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值