浏览 11469 次
锁定老帖子 主题:Java
该帖已经被评为新手帖
作者 正文
   发表时间:2009-02-24  
其实现在字符串相加,编译成字节码的时候已经自动优化过了。
0 请登录后投票
   发表时间:2009-02-24  
哈,看了这些,好像只有其中一两个习惯哦
0 请登录后投票
   发表时间:2009-02-24  
cgzhang 写道
for(int i=0; n=collection.size();i<n;i++){
       ...
}


代码有误,应为:
for(int i=0,n=collection.size();i<n;i++){
       ...
}



就是,我就说嘛,什么时候for循环可以三个分号了。
0 请登录后投票
   发表时间:2009-02-25   最后修改:2009-02-25
第一个循环的例子几乎没有影响~
0 请登录后投票
   发表时间:2009-02-26  
我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JDK有没有做)。但这样确实会大大降低可读性
0 请登录后投票
   发表时间:2009-02-26  
Dollyn 写道
我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JDK有没有做)。但这样确实会大大降低可读性

最后一条是真材实料的算法优化,和Java本身没有必然联系,但是此类算法优化JDK不可能会做的。
0 请登录后投票
   发表时间:2009-03-02  
完全忽略了一個好的JVM的優化能力

難道java是C編譯器么?
0 请登录后投票
   发表时间:2009-03-03  
icewubin 写道
Dollyn 写道
我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JDK有没有做)。但这样确实会大大降低可读性

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



很遗憾的是,java编译器确实会优化2的幂的乘法
0 请登录后投票
   发表时间:2009-03-03   最后修改:2009-03-03
kimmking 写道
icewubin 写道
Dollyn 写道
我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JDK有没有做)。但这样确实会大大降低可读性

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



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

哦,是这样啊。

不过,我以为他举的例子衍生出去是这样的:
val = val * 6;
优化成
val = val << 1;
val = val * 3;
0 请登录后投票
   发表时间:2009-03-03  
icewubin 写道
kimmking 写道
icewubin 写道
Dollyn 写道
我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JDK有没有做)。但这样确实会大大降低可读性

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



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

哦,是这样啊。

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

您这哪里是优化啊,

*6和*3 对java runtime 是一样的
还多了一步<<
0 请登录后投票
论坛首页 入门技术版

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