|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。比来在做使用的功能优化,在review代码的过程当中堆集了一些划定规矩和履历。做到这些划定规矩的目标很复杂,就是写出“幽美”的代码来。
1、正文尽量周全
关于办法的正文应当包括具体的进参和了局申明,有非常抛出的情形也要具体叙说;类的正文应当包括类的功效申明、作者和修正者。
2、屡次利用的不异变量最好归结成常量
多处利用的不异值的变量应当只管归结为一个常量,便利往后的保护。
3、只管少的在轮回中实行办法挪用
只管在轮回中少做一些可制止的办法挪用,如许能够节俭办法栈的创立。比方:
Java代码
<br>
<br>
<br>
- for(inti=0;i<list.size();i++){
- System.out.println(i);
- }
- for(inti=0;i<list.size();i++){System.out.println(i);}
复制代码 能够修正为:
Java代码
<br>
<br>
<br>
- for(inti=0,size=list.size();i<size;i++){
- System.out.println(i);
- }
- for(inti=0,size=list.size();i<size;i++){System.out.println(i);}
复制代码 4、常量的界说能够放到接口中
在Java中,接口里只同意存在常量,因而把常量放到接口中声明就能够省往publicstaticfinal这几个关头词。
5、ArrayList和LinkedList的选择
这个成绩对照罕见。一般程序员最好可以对list的利用场景做出评价,然后依据特征作出选择。ArrayList底层是利用数组完成的,因而随机读取数据会比LinkedList快良多,而LinkedList是利用链表完成的,新增和删除数据的速率比ArrayList快很多。
6、String,StringBuffer和StringBuilder
这个成绩也对照罕见。在举行字符串拼接处置的时分,String一般会发生多个对象,并且将多个值缓存到常量池中。比方:
Java代码
<br>
<br>
<br>
- Stringa="a";
- Stringb="b";
- a=a+b;
- Stringa="a";Stringb="b";a=a+b;
复制代码 这类情形下jvm会发生"a","b","ab"三个对象。并且字符串拼接的功能也很低。因而一般必要做字符串处置的时分只管接纳StringBuffer和StringBuilder来。
7、包装类和基础范例的选择
在代码中,假如可使用基础数据范例来做部分变量范例的话只管利用基础数据范例,由于基础范例的变量是寄存在栈中的,包装类的变量是在堆中,栈的操纵速率比堆快良多。
8、尽早的将不再利用的变量援用赋给null
如许做能够匡助jvm更快的举行内存接纳。固然良多人实在对这类做法其实不伤风。
9、在finally块中对资本举行开释
典范的场景是利用io流的时分,不管是不是呈现非常最初都应当在finally中对流举行封闭。
10、在HashMap中利用一个Object作为key时要注重怎样辨别Object是不是不异
在jdk的HashMap完成中,判别两个Object范例的key是不是不异的尺度是hashcode是不是不异和equals办法的前往值。假如营业上必要对两个数据不异的内存对象看成分歧的key存储到hashmap中就要对hashcode和equals办法举行掩盖。
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。 |
|