java内存优化

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