黑马程序员技术交流社区
标题:
什么叫效率高的方式?
[打印本页]
作者:
芦曦
时间:
2012-8-31 15:41
标题:
什么叫效率高的方式?
在编写程序的时候,会有要求说 要尽量使用效率高的方式.
请问这个效率高的方式是指什么?
作者:
陈莹
时间:
2012-8-31 15:50
本帖最后由 陈莹 于 2012-8-31 15:56 编辑
一个是时间效率,就是指程序运行时间要快,
另一个是内存大小,要尽量少占用内存。
比如说各种排序算法,快速排序,冒泡排序,选择排序等,
他们给相同的数组排序所用的时间就不一样,因为快排所用时间少于冒泡排序,所以快排效率高。
关于内存,我举个例子:
1、for(int i=0;i<5;i++)
2、int i = 0;
……
for(int i=0;i<5;i++)
1中的变量i的作用域小于2中的i
这样1中的i就比2中的i占用内存时间久,所以1的效率就比2高。
作者:
高廷平
时间:
2012-8-31 16:04
我觉得这个可以不同的理解:
一 代码设计的简洁性,尽量减少“冗余”性的东西。
二 运算上的高效率。
比如说要计算3*4等于多少?
我们可以有不同的方式:
1 int temp=3*4;
2 定义一个计算任意数乘积的方法。这样可以计算任何两个数的乘积,别的类也可以调用。可以认为它比1高效率点。
3 3<<2 左移2位,因为左移CPU直接可以计算,显然效率最好了。
作者:
王得新
时间:
2012-8-31 16:08
本帖最后由 王得新 于 2012-8-31 16:09 编辑
这个问题我也很在意,我也上网了解了,在这里会大家分享下:
1.用接口代替抽象类,不要同时使用 overload和 override。
2.使用继承表示分类关系,使用组合表示包含关系。
3. 高质量的代码是在重构中完成的。
4.少用异常,多用判断。
5. 将类的属性按种类分块,将方法的实现按功能分块,适度使用对齐。
6.控制代码长度,尽可能不使用 import *。
7. 尽量减少同名类,用包名体现类的层次。如:
com.google.demokit
com.google.utils
8.通过iterator,for(还有foreach),while来访问集合的元素。
9. 使用不可变类作为Set和Map的Key值
10.免费使用集合的具体实现,在声明集合时,使用接口。
11.减少创建对象,减少循环的执行代码,减少IO操作,正确使用JDBC编程接口。
12.函数调用时,通过形参传过来的对象必须先判断后使用,避免使用异常。
13. 使用合适的设计模式(好像是12中,毕老师的java教学视频里有,是单例设计模式(又分懒汉式和饿汉式))。
14.尽量将变量表达式申明成变量再使用,在循环的判断中不要直接使用方法调用的返回值,而要将方法的返回值赋给变量,使用这个变量。
15对于一组代码完成一个功能的代码,好把他们封装,放在一个新的方法里面,主方法只是这些子方法的结合。
16.避免建立对象,都知道,一new对象,就会在内存中开辟空间的,内存是宝贵的,所以不要建立无用的对象
作者:
周兴华
时间:
2012-8-31 16:10
效率高也就是运算速度快,占用内存少,这个得具体情况具体分析。
我们在编程中会碰到很多这样的例子,比如ArrayList和Vector这两个类差不多,但ArrayList效率高些,但不同步,Vector效率低些,但同步。可根据实际情况进行选择。
又比如,在IO技术中,如果要读一个文本文件,如果要求高效的话,可采用缓冲技术。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2