为了账号安全,请及时绑定邮箱和手机立即绑定

java如何优化编译呢?

java如何优化编译呢?

喵喔喔 2018-05-28 05:06:31
java如何优化编译呢?
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

#java编译器对`String常量表达式`的优化:
- 1.String+String 可以被编译器识别为常量表达
String a="ab" ;
String b="a"+"b";//编译后:b="ab"
System.out.println(a==b);//true
分析:
编译器将"a"+"b"当做常量表达式,在编译时期进行优化,直接取"ab". 在运行时期
并没有创建新的对象,而是从jvm字符串常量池中获取之前已经存在的"ab"对象.

- 2.String+基本类型 可以被编译器识别为常量表达式

String a="a1";
String b="a"+1; //"a1"
String c="a"+true;//"atrue"
String d="a"+3.14;//"a3.14"

#java编译器对`常量`优化:
* 它是编译时的一项优化技术,将代码的常量计算在编译期完成,节约了运行时的计算量.

1.常量替换
//编译前:
final int x=10;
int y=x;

//编译后
int x=10;
int y=10;//编译时,常量替换了

2.数学恒等式的模式匹配替换

//编译前:
int x=10+10;

//编译后
int x=20;//编译时,模式匹配替换了

3.常量折叠

//编译前:
boolean flag=true||(a || b && c);

//编译后
boolean flag=true;//编译时,常量折叠了

查看完整回答
反对 回复 2018-08-03
  • 1 回答
  • 0 关注
  • 667 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号