怎样编写高效率Java[检查笔记].docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
怎样编写高效率Java[检查笔记]

HYPERLINK /doliu6/article/details/1741099如何编写高效率Java(检查笔记) 分类: HYPERLINK /doliu6/article/category/708885JAVA编程 HYPERLINK /doliu6/article/category/710122中级2007-08-13 17:51 827人阅读 HYPERLINK /doliu6/article/details/1741099#comments评论(0) HYPERLINK javascript:void(0);收藏 HYPERLINK /doliu6/article/details/1741099#report举报 HYPERLINK /tag/details.html?tag=javajavaHYPERLINK /tag/details.html?tag=exceptionexceptionHYPERLINK /tag/details.html?tag=vectorvectorHYPERLINK /tag/details.html?tag=iteratoriteratorHYPERLINK /tag/details.html?tag=umlumlHYPERLINK /tag/details.html?tag=nullnull 目录HYPERLINK /doliu6/article/details/1741099#(?)HYPERLINK /doliu6/article/details/1741099#[+] 大量的工作之后,千万不要忘了重新检查自己的代码质量和风格,agile check? 规则1 用时间频度来确定异常情况 异常Exception的捕捉是会增加额外开销的。所以尽量避免过多的异常捕捉。越是经常调用的代码,越是要较少或者避免try…catch..finally。 细节1、左边的代码效率比右边的高(在for外捕获异常效率比每个循环开销小) try{ for(){} } catch(Exception e){ }for(){ try{ } catch(Exception e){ } }细节2、finally中的return或者抛出的异常会产生complete abrupt结束。 try{ throw new Exception(Hello); } finally{ return 0; //此举使得Hello这个异常不会被上层看到。因为finally这里把异常抛弃,而返回0了。 } 规则2 用不需查异常RuntimeException及其子类来强化方法使用的约定 比如不希望被使用的方法,但不得不从父类集成,可以使用该方式。 规则3 用Error的子类表示系统级的异常和程序不用处理的异常 这样程序中不用显式捕获了。 规则4 用不从RuntimeException集成的子类来表示需查异常 规则5 反之,用从RuntimeException集成的子类来表示不需查异常 规则6 用链式异常保留原始异常的信息 e.printStackTrace的信息通过继承保留,便于跟踪程序调用层次。 代码风格部分: 规则7 将类的属性按种类分块 规则8 将方法的实现代码按功能分类 规则9 适度的使用对齐 规则10 控制代码的长度 规则11 尽可能不import 因为容易使得读代码的人难以定位 规则12 尽量减少同名的类 规则13 用包名体现类的层次 规则15 用StringBuffer/StringBuilder(from 5.0)代替迭代使用的String 规则16 手工清除短期对象的引用 比如在循环中使用的临时对象,如果不用了,在每个循环后面赋值null。 while(true){ Vector x = new Vector(); …. x = null; } 规则17 长期引用容易引起内存泄漏 ObjectOutputStream会保留所有已序列化的对象的引用,以免被重复序列化,所以每次new的对象都不会被垃圾收集,这时候需要手动处理: Object xx = new XXX(); ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream()); out.write(xx); out.flush(); out.reset();//此处释放引用从而不会泄漏。 规则18 用接口代替抽象类 继承用于继承父类的方法。组合用于数据的组合。 规则19 不要同时使用重载(overload)和覆盖(o

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档