- 设计初期要分析用什么数据结构和相关算法实现
- 复杂运算和字符处理时候,用StringBuffer,不要用String
- 避免在循环块里写try-catch
- Synchronisation处理耗资源和影响运行速度,仅在十分必要使用且需要同步的方法相对简单的情况下使用
- 延迟初始化对象,仅在需要用到的方法时候才初始化
- 用Arraylist和hashMap, 避免用Vector和Hashtable,因为后者是Synchronised方法
- 避免使用 ‘order by ??? Desc fetch first row only’ 的SQL, 最好用(<,<=,>,>=) statement
- 尽量少用reflection,e.g. Class.forName(String), 因为消耗资源大,如果options的选择性是定了的,用switch 或者if then else更好
- 避免在循环里创建对象
- 在传统的DAO里尝试返回null而不是抛出DAOFinderException,假如真的找不到record,可以尝试处理null的结果。
- 在一些长的程序处理里缓存一下计算结果,避免重复计算
- 在经常join file的fields创建索引
- 后续。