浏览 11467 次
锁定老帖子 主题:Java
该帖已经被评为新手帖
作者 正文
   发表时间:2009-03-03  
kimmking 写道
icewubin 写道
kimmking 写道
icewubin 写道
Dollyn 写道
我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JDK有没有做)。但这样确实会大大降低可读性

最后一条是真材实料的算法优化,和Java本身没有必然联系,但是此类算法优化JDK不可能会做的。



很遗憾的是,java编译器确实会优化2的幂的乘法

哦,是这样啊。

不过,我以为他举的例子衍生出去是这样的:
val = val * 6;
优化成
val = val << 1;
val = val * 3;

您这哪里是优化啊,

*6和*3 对java runtime 是一样的
还多了一步<<

好象是啊,那换个例子好了,一般财务计算都用BigDecimal。

BigDecimal val = new BigDecimal("88");
val = val.multiply(new BigDecimal("100"));
优化成
BigDecimal val = new BigDecimal("88");
val = val.movePointRight(2);
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics