java性能编码规范整理二

来源:互联网 发布:手机网络延时高怎么办 编辑:程序博客网 时间:2024/06/07 18:28

接上篇  java性能编码规范整理一
 

12、对于高频度使用的对象,需要进行单独优化处理给以重用
13、在代码开发中,需要根据应用场景合理选择集合框架中的集合类,应用场景可按单线程和多线程来划分,也可按频繁插入、随机提取等具体操作场景来划分
14、对于热点代码,可以采用特定的集合类来提供系统性能,特定集合类可以是自己开发,也可以直接采用Trove这样的第三方开源类库
15、当需要在方法之间传递多个属性值时,从性能角度考虑,应优先采用结构体,而非ArrayList或Vector等集合类
16、进行IO读写操作时,必须使用缓冲机制
17、从性能角度考虑,应尽量优先使用字节IO进行读写,而避免用字符IO进行读写
18、对于数组、集合的拷贝、查找、排序等操作,如果是一般应用,可以优先采用java.util.Arrays和java.util.Collections中提供的工具方法;但是对于热点代码,最好是参考java API中的方法实现,自己开发特定的排序等方法,以减少临时对象的创建。
19、对于数组的拷贝,请使用System.arraycopy(…)方法
20、如果往框架类或者系统类对象中添加了某个对象,那么当该对象不再使用时,必须及时清除
21、当使用自己定义的类装载器去装载类时,在被装载的类不再使用后,需要保证该类装载器可以被垃圾回收
22、尽量不要将一些大的对象(对象本身比较大或其引用的对象比较多)定义成静态的
23、如果在一个对象中创建了一个线程,当对象不再使用时,必须关闭该线程
24、在JFrame、JDialog等窗口对象中,尽量处理窗口关闭事件并释放资源
25、在IO操作中,必须定义finally代码段,并在该代码段中执行IO关闭操作

<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* csdn 横中 */google_ad_slot = "7877933139";google_ad_width = 468;google_ad_height = 60;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>