打字猴:1.700451881e+09
1700451881 编写高质量代码:改善Java程序的151个建议 [:1700438208]
1700451882 编写高质量代码:改善Java程序的151个建议 建议132:提升Java性能的基本方法
1700451883
1700451884 Java从诞生之日起就被质疑:字节码在JVM中运行是否会比机器码直接运行的效率会低很多?很多技术高手、权威网站都有类似的测试和争论,从而来表明Java比C(或C++)更快或效率相同。此类话题我们暂且不表(这类问题的争论没完没了,也许等到我们退休的时候,还想找个活动脑筋的方式,此类问题就会是最好的选择),我们先从如何提高Java的性能方面入手,看看怎么做才能让Java程序跑得更快,效率更高,吞吐量更大。
1700451885
1700451886 (1)不要在循环条件中计算
1700451887
1700451888 如果在循环(如for循环、while循环)条件中计算,则每循环一遍就要计算一次,这会降低系统效率,就比如这样的代码:
1700451889
1700451890 //每次循环都要计算count*2
1700451891
1700451892 while(i<count*2){
1700451893
1700451894 //Do Something
1700451895
1700451896 }
1700451897
1700451898 应该替换为:
1700451899
1700451900 //只计算一遍
1700451901
1700451902 int total=count*2;
1700451903
1700451904 while(i<total){
1700451905
1700451906 //Do Something
1700451907
1700451908 }
1700451909
1700451910 (2)尽可能把变量、方法声明为final static类型
1700451911
1700451912 假设要将阿拉伯数字转换为中文数字,其定义如下:
1700451913
1700451914 public String toChineseNum(int num){
1700451915
1700451916 //中文数字
1700451917
1700451918 String[]cns={“零”,“壹”,“贰”,“叁”,“肆”,“伍”,“陆”,“柒”,“捌”,“玖”};
1700451919
1700451920 return cns[num];
1700451921
1700451922 }
1700451923
1700451924 每次调用该方法时都会重新生成一个cns数组,注意该数组不会改变,属于不变数组,在这种情况下,把它声明为类变量,并且加上final static修饰会更合适,在类加载后就生成了该数组,每次方法调用则不再重新生成数组对象了,这有助于提高系统性能,代码如下。
1700451925
1700451926 //声明为类变量
1700451927
1700451928 final static String[]cns={“零”,“壹”,“贰”,“叁”,“肆”,“伍”,“陆”,“柒”,“捌”,“玖”};
1700451929
1700451930 public String toChineseNum(int num){
[ 上一页 ]  [ :1.700451881e+09 ]  [ 下一页 ]