- 能使用基本类型就不要用包装类
- 能使用类变量static就不要用实例变量
- 分配内存预估 如hashMap指定size,StringBuffer容量
- 0copy, 使用组合模式等避免数据和对象的复制
- 合理使用堆内存
- 使用内存池
- 合理使用对象引用 软引用、弱引用
- 使用磁盘缓存或redis等
- 减少对象创建,如避免循环创建,使用单例模式/享元模式等
- 合理使用final java编辑器会
- 尽量在finally中清除资源
- 使用位移来代替一些乘除运算
- 尽量不要使用finalize finalize是在对象即将回收之前执行的,增加gc负担
- 慎用异常 开销比较大