欢迎来到天天文库
浏览记录
ID:42371888
大小:55.50 KB
页数:5页
时间:2019-09-14
《如何编写高效率Java(检查笔记)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、如何编写高效率Java(检查笔记)分类:JAVA编程中级2007-08-1317:51827人阅读评论(0)收藏举报javaexceptionvectoriteratorumlnull目录(?)[+]大量的工作之后,千万不要忘了重新检查自己的代码质量和风格,agilecheck?规则1用时间频度来确定异常情况异常Exception的捕捉是会增加额外开销的。所以尽量避免过多的异常捕捉。越是经常调用的代码,越是要较少或者避免try…catch..finally。细节1、左边的代码效率比右边的高(在for外捕获异常效率
2、比每个循环开销小)try{for(){}}catch(Exceptione){}for(){try{}catch(Exceptione){}}细节2、finally中的return或者抛出的异常会产生completeabrupt结束。try{thrownewException("Hello");}finally{return0;//此举使得Hello这个异常不会被上层看到。因为finally这里把异常抛弃,而返回0了。}规则2用不需查异常RuntimeException及其子类来强化方法使用的约定比如不希望被使用
3、的方法,但不得不从父类集成,可以使用该方式。规则3用Error的子类表示系统级的异常和程序不用处理的异常这样程序中不用显式捕获了。规则4用不从RuntimeException集成的子类来表示需查异常规则5反之,用从RuntimeException集成的子类来表示不需查异常规则6用链式异常保留原始异常的信息e.printStackTrace的信息通过继承保留,便于跟踪程序调用层次。代码风格部分:规则7将类的属性按种类分块规则8将方法的实现代码按功能分类规则9适度的使用对齐规则10控制代码的长度规则11尽可能不imp
4、ort因为容易使得读代码的人难以定位规则12尽量减少同名的类规则13用包名体现类的层次规则15用StringBuffer/StringBuilder(from5.0)代替迭代使用的String规则16手工清除短期对象的引用比如在循环中使用的临时对象,如果不用了,在每个循环后面赋值null。while(true){Vectorx=newVector();….x=null;}规则17长期引用容易引起内存泄漏ObjectOutputStream会保留所有已序列化的对象的引用,以免被重复序列化,所以每次new的对象都不会
5、被垃圾收集,这时候需要手动处理:Objectxx=newXXX();ObjectOutputStreamout=newObjectOutputStream(newFileOutputStream());out.write(xx);out.flush();out.reset();//此处释放引用从而不会泄漏。规则18用接口代替抽象类继承用于继承父类的方法。组合用于数据的组合。规则19不要同时使用重载(overload)和覆盖(override)overload在编译时起作用,override在运行时起作用。规则20
6、正确使用继承表示分类关系规则21用组合来表示包含关系组合(组成和聚合compositionandaggregation)UML都用聚合来表示。规则22避免方法的副作用设计不可变类,动作只修改状态不返回状态。查询反之。规则23首善之举是重构不是copy。规则24选择合适的体系结构规则25通过Iterator,使用for或while循环访问集合元素规则26使用不可变类作为Set或者Map的key。规则27不要与集合的实现南辕北辙规则28谨慎的使用集合的clone方法(默认都是浅层复制,深层复制只能自己实现或者是不可变
7、类)规则29掌握集合的惯用法1、排序,使用Collections.sort()或者有序的集合。2、Collections.nCopies生成一个n个元素的不可变集合。帮助初始化规则30建议定义完整的性能调整过程规则31建议改善java运行环境规则32建议减少创建对象规则33建议减少循环体的代码函数的调用,数组的操作,不要使用函数调用作为循环结束的判断标志规则34减少IO操作时间规则35正确使用JDBC编程接口参考《高质量Java程序设计》顾小刚、谢义军、林锐等编著电子工业出版社2003分享到:·上一篇:Strut
8、s+Spring+Hibernate整合入门详解·下一篇:转:我眼中的JBossSeam六大优势和两个问题(看到好东东当然要和大家分享)查看评论暂无评论您还没有登录,请[登录]或[注册]
此文档下载收益归作者所有