Java代码优化的总结

总结Java代码优化的方法
  1. 尽量少new对象,及时关流,慎用异常
  2. 将常量声明为 static final,并以大写命名
  3. 尽量重用对象尽可能使用局部变量
  4. 指定类、方法的 final 修饰符
  5. 循环内不要不断创建对象引用
  6. 乘法和除法使用移位操作
  7. 尽量在合适的场合使用单例
  8. 采用懒加载的策略,即在需要的时候才创建
  9. 使用同步代码块替代同步方法
  10. 尽量避免随意使用静态变量
  11. 及时清除不再需要的会话
  12. 不要将数组声明为 public static final
  13. 建议使用if(i == 1),不使用if(1 ==i)的形式
  14. 程序运行过程中避免使用反射
  15. 不要让 public 方法中有太多的形参
  16. 当复制大量数据时,使用 System.arraycopy() 命令
  17. 使用数据库连接池和线程池
  18. 使用带缓冲的输入输出流进行 IO 操作
  19. 使用最有效率的方式去遍历 Map
  20. 对资源的 close() 建议分开操作
  21. 所有重写的方法必须保留 @Override 注解
  22. 不要在循环中使用 try-catch,应该把其放在最外层
  23. 字符串比较相等时,字符串放在前面,避免空指针异常
  24. 对于线程安全性没有要求的情况下,尽量使用线程不安全的类
  25. 对ThreadLocal 在线程池场景使用前或者使用后一定要先 remove
  26. 公用的集合类中不使用的数据一定要及时 remove 掉
  27. 静态类、单例类、工厂类将它们的构造函数置为 private
  28. 字符串拼接非常消耗系统资源,如果要用字符串拼接,使用StringBuffer而不用String+
  29. 基于效率和类型检查的考虑,应该尽可能使用 array,无法确定数组大小时才使用 ArrayList
  30. 尽量使用 HashMap、ArrayList、StringBuilder,除非线程安全需要,否则不推荐使用 Hashtable、Vector、StringBuffer,后三者由于使用同步机制而导致性能开销
  31. 字符串变量和字符串常量 equals 的时候将字符串常量写在前面,避免空指针异常
  32. 循环体内不要使用 “+” 进行字符串拼接,而直接使用 StringBuilder 不断 append
  33. 不捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类(因为静态类、单例类、工厂类这种类本来我们就不需要外部将它们 new 出来,将构造函数置为 private 之后,保证了这些类不会产生实例对象)
  34. 实现 RandomAccess 接口的集合(比如 ArrayList)使用 for循环而不用 foreach 循环
  35. 建议使用 JDK1.7 中新引入的 Objects 工具类来进行对象的 equals 比较,直接 a.equals(b) 有空指针异常的风险
  36. 不对超出范围的基本数据类型做向下强制转型(Long 转 Int类型 是会存在潜在风险)
  37. 常量定义的方式替代魔鬼数字(魔鬼数字的存在大大降低代码可读性)
  38. 顺序插入和随机访问比较多的场景使用 ArrayList,元素删除和中间插入比较多的场景使用 LinkedList
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫A建仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值