欢迎访问北大青鸟鲁广校区~

  1. 加入收藏
  2. 设为主页
  3. 学校简介
北大青鸟鲁广校区

17740513250

三分钟了解北大青鸟

×
  • 数据加载中...

java技术教程之java简单程序优化问题

责任编辑:宏鹏来源:武汉北大青鸟鲁广校区发布时间:2012-07-16 10:48:51
导读:java技术教程之java简单程序优化问题分享能帮助大家了解到更多的java开发问题。

java技术教程之java简单程序优化问题分享能帮助大家了解到更多的java开发问题。北大青鸟武汉宏鹏鲁广校区的ACCP课程和学士后java课程能帮助大家了解到更多的信息。下面就从三个方面进行介绍。

常量折叠:

我们写程序常常会出现这样的现象:

Int a = 1*2+3+4;

其实这种形式直接完等价于int a = 9,但结果相同,效果却有很大的区别,前者计算机要执行 4次 后者计算机只需要执行2次。相比,在效率方面,后者更好一些,这就是所谓的常量折叠,但许多编译器已经在这方便帮我们做了,虽然我们的写法是前者,但编译器在后台已经默默的把他转变成了后者。所以这里我们只是稍微提起。

数学公式:

这种方式,我想大家大多说都见过。举个例子,求1000以内的所有整数和。

一般做法:

for(int a = 0 ; a < 1000; a++){

sum +=

a;

}

但这种做法很不高效,计算机在执行这条语句时会默默的在后台反复的执行累加过程。虽然这么做不会影响我们所要的结果,但在性能上却造成很多不必要的消耗。如果有只需执行几句,并能得到我们所要的结果,何乐而不为呢。以下做法可以达到此效果。

Int sum = (0+1000)*1000/2 ;

从结果上,此方法和上述的方法都可以得到相应的结果,可是后者在时间上却大大的减少了。从而提高了代码的效率。

活用运算符

我们常用的运算符 + ,-, * ,/ , % ,& ,|

等等,在这里我们只提一下四则运算。在计算机的世界里加减运算快的,大约一个时钟周期就可以计算完毕,而除法则运算是慢的,大约在50~60个时钟周期,而位运算大约在5~6个时钟周期。我想不用我继续说下去,你们已经猜到了。为了让计算机更高效的为我们工作。我们应尽量用加法,减法及位运算。这将会提高我们的代码质量。废话不多说了,举个例子:

在JAVA

JDK中,我们常常能看到<< >> 这两个符号,我相信各位都知道,这是左移右移运算符,也就是我们说的位运算的一种,为什么能常常看到它呢,原因很简单,一句话:位运算比乘除法快。

int max = 100000;

int temp = 3;

long start = 0 ;

long end = 0 ;

start = System.currentTimeMillis();

for (int i = 0; i < max; i++) {

for (int k = 0; k < max; k++) {

int x = 1000*13;

}

}

end =System.currentTimeMillis();

System.out.println("-------->"+(end - start));

start = System.currentTimeMillis();

for (int i = 0; i < max; i++) {

for (int k = 0; k < max; k++) {

int x = 1000<<3 + 1000<<2 +1000;

}

}

end =System.currentTimeMillis();

System.out.println("-------->"+(end - start));

结果:

-------->14586

-------->13527

java技术教程之java简单程序优化问题的深入理解让北大青鸟武汉宏鹏的学子进行详细了解,在理论学习和项目开发的时候运用得更加好。

本文标题:#java技术教程之java简单程序优化问题#,宏鹏发布于北大青鸟鲁广校区。java技术教程之java简单程序优化问题分享能帮助大家了解到更多的java开发问题。

专业老师指导

专业老师指导

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业。

培训咨询客服

培训咨询客服

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑。

本文地址:https://www.027hpedu.com/wenda/java/1122.html

大家都在看的大家都在看的Java开发

热门课程

更多>>
  • 数据加载中...
7天免费试学

7天课程免费试学

实战学习干货限时领取

行业解读+大咖授课+项目实操
10年以上业内强师集结,手把手带你蜕变精英!

点我咨询
×
在线咨询更多问题

如您有任何疑问
在线咨询随时为您解答或拨打咨询热线:13125006136

×
  • 姓 名*
  • 手 机*
  • QQ号/微信号
  • 所报学科 *
  • 其他备注
  • 验证码 获取验证码 *
  • 温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。