论坛首页 Java企业应用论坛

关于性能优化

浏览 40013 次
精华帖 (2) :: 良好帖 (10) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-11-18  
新手还是有可以考虑的地方的吧:

比如Integer i = new Integer(20) ; 和Integer j = Integer.valueOf(20);

虽然简单的这两行不见得会有多少差别,但是这样的代码多了,或者是在循环里面,

是不是...........
0 请登录后投票
   发表时间:2010-11-18   最后修改:2010-11-18
zhangyou1010 写道
新手还是有可以考虑的地方的吧:

比如Integer i = new Integer(20) ; 和Integer j = Integer.valueOf(20);

虽然简单的这两行不见得会有多少差别,但是这样的代码多了,或者是在循环里面,

是不是...........


哈哈,lz想要的人出现了,其实lz想批评的正是你这种。
实际项目中真正由这种代码引起系统慢的情况是非常少见的。
如果你花心思在这种级别的代码上试图优化系统的话,基本上就完蛋了。
0 请登录后投票
   发表时间:2010-11-18  
有人批评我函数体写的太小,会影响性能,有时候听了我都不知道该跟他讲什么。
0 请登录后投票
   发表时间:2010-11-18  
dsjt 写道
ouchxp 写道

JDK自己已经有优化了. 不合理的优化反而会降低效率
比如字符串常量拼接
String str ="aaa" + "bbb" +"ccc" + "ddd";

StringBuilder sb = new StringBuilder();
sb.append("aaa");
sb.append("bbb");
sb.append("ccc");
sb.append("ddd");
String str = sb.toString();

哪种效率高? 答案是第一种. 对于新手来说想优化很容易适得其反.
反编译看一下就知道为什么了.


我们项目经理不让用第一种

怀疑是你理解错了。String常量才会出现这种情况,变量还是推荐用第二种。
0 请登录后投票
   发表时间:2010-11-19  
http4j 写道
dsjt 写道
ouchxp 写道

JDK自己已经有优化了. 不合理的优化反而会降低效率
比如字符串常量拼接
String str ="aaa" + "bbb" +"ccc" + "ddd";

StringBuilder sb = new StringBuilder();
sb.append("aaa");
sb.append("bbb");
sb.append("ccc");
sb.append("ddd");
String str = sb.toString();

哪种效率高? 答案是第一种. 对于新手来说想优化很容易适得其反.
反编译看一下就知道为什么了.


我们项目经理不让用第一种

怀疑是你理解错了。String常量才会出现这种情况,变量还是推荐用第二种。

呢,不是,
我写sql,最初一个字符串,被说可读性差,就改成连+,被要求用StringBuffer
0 请登录后投票
   发表时间:2010-11-19   最后修改:2010-11-19
http4j 写道
dsjt 写道
ouchxp 写道

JDK自己已经有优化了. 不合理的优化反而会降低效率
比如字符串常量拼接
String str ="aaa" + "bbb" +"ccc" + "ddd";

StringBuilder sb = new StringBuilder();
sb.append("aaa");
sb.append("bbb");
sb.append("ccc");
sb.append("ddd");
String str = sb.toString();

哪种效率高? 答案是第一种. 对于新手来说想优化很容易适得其反.
反编译看一下就知道为什么了.


我们项目经理不让用第一种

怀疑是你理解错了。String常量才会出现这种情况,变量还是推荐用第二种。

已经说明了是常量拼接的情况,怀疑你是没看到. 如LS所述SQL通常是常量拼接
0 请登录后投票
   发表时间:2010-11-19  
ouchxp 写道
http4j 写道
dsjt 写道
ouchxp 写道

JDK自己已经有优化了. 不合理的优化反而会降低效率
比如字符串常量拼接
String str ="aaa" + "bbb" +"ccc" + "ddd";

StringBuilder sb = new StringBuilder();
sb.append("aaa");
sb.append("bbb");
sb.append("ccc");
sb.append("ddd");
String str = sb.toString();

哪种效率高? 答案是第一种. 对于新手来说想优化很容易适得其反.
反编译看一下就知道为什么了.


我们项目经理不让用第一种

怀疑是你理解错了。String常量才会出现这种情况,变量还是推荐用第二种。

已经说明了是常量拼接的情况,怀疑你是没看到. 如LS所述SQL通常是常量拼接


汗,还是你理解错了,我说的不是你啊。是说那个人呢,什么项目经理不让用第一种那个,谁说你了。
我说他理解错了。
0 请登录后投票
   发表时间:2010-11-19  
zhangyou1010 写道
新手还是有可以考虑的地方的吧:

比如Integer i = new Integer(20) ; 和Integer j = Integer.valueOf(20);

虽然简单的这两行不见得会有多少差别,但是这样的代码多了,或者是在循环里面,

是不是...........

Integer i = 20  ;
0 请登录后投票
   发表时间:2010-11-19   最后修改:2010-11-19
JAVA里面确实有很多不方便的地方,如:
1.基本类型的包装类与基本类型对null的差别处理
2.map,list,set甚至正则,xml等数据没有原生支持的语法糖。
3.集合类型不支持泛型的协变、逆变处理等。
3.闭包。

这可能是我接触的比较多的吧。
但是相对于其它语言要是使用var a = "123";这类的语法来,说实在的我还是喜欢
String a = "123"。
虽然看着臃肿了点,但是能一目了然,至少可以直接地知道a是个什么东西,有什么功能。。
0 请登录后投票
   发表时间:2010-11-19   最后修改:2010-11-19
http4j 写道

汗,还是你理解错了,我说的不是你啊。是说那个人呢,什么项目经理不让用第一种那个,谁说你了。
我说他理解错了。

了解了 , 通常项目经理不会区分常量拼接和变量拼接的. 因为项目经理也未必知道这其中有什么不同.
0 请登录后投票
论坛首页 Java企业应用版

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