接上篇 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关闭操作