代码级别
a. 用局部变量代替全局变量
b. 类变量不要重复创建,尤其是在大for循环中。 变量尽量做到重复利用,变量应该在判断语句内实例化。
c. 局部变量用完后,要及时回收,最有效的方法是直接赋值为null
d. 字符串值频繁添加或修改时,最好用StringBuffer(线程安全) 和 StringBuilder (线程不安全) 代替String
e. Pojo 必须纯正, 应该与表结构对应,不能有其他的多余的变量存在, 这样会使实体对象增大。 其他的变量应该要用VO或者DTO来代替。
1. 事务
a. 事务必须在service层
b. 检索数据不需要加事务,事务一般只加在数据添加,更新,删除上
c. Action调用service事务的时候,不要分开调用,这样会开启不同的事务,导致事务不一致,而且事务占用时间,所以,一次完整的操作,事务必须唯一。
c. Hibernate排序会检索全表,会把所有的对象全表加载到内存,导致hibernate分页排序时没有达到理想的效果,如果数据量大,建议在 hibernate 分页中,不要加入
排序,把需要的数据取出来后,通过程序排序也未尝不可。
d. 检索数据量大,用query.list(); 数据量小,用query.iterator().