java代码优化细节(jdk1.8)

本文介绍了Java代码优化的多个方面,包括基础优化、集合处理、并发安全与Spring框架的应用。强调了避免使用JDK自带序列化,推荐使用JSON或Proto Buffer;提倡使用StringUtils.isBlank进行字符串判空;在集合操作前进行NPE判断;并提出了并发编程中的锁优化策略,如DCL和volatile。同时,还讨论了数据库查询优化,如避免全表扫描和使用覆盖索引,并给出了Spring事务管理的注意事项和生产环境的最佳实践。
摘要由CSDN通过智能技术生成

基础

  1. (强制)项目中不要使用jdk自带序列化,请使用json序列化,或者google proto buffer序列化
    1. jdk自带序列化使用二进制流进行序列化,不支持** 多客户端语言**
    2. 性能 不如json序列化,和google Proto Buffer序列化
    3. ** 安全性 **
  2. 对于配置文件信息,使用配置类注入
  3. (强制)命名使用 英文单词 驼峰命名,满足见字知意的原则 (禁止使用中文拼音命名,禁止使用1,2,3,4重复命名)
  4. 日志打印按照日志级别的类型进行打印日志,对于重要地方的入参建议打印具体参数
  5. (强制)字符串需要使用 StringUtils.isBlank 判空
  6. (强制) 集合类型 使用 coll != null 以及 size > 0进行判断
  7. (强制)经常使用的 数据 请定义为常量,不要每次都在方法 中初始化
  8. (强制)经常使用代码块 封装为方法,不要再代码中进行 Ctrl+C Ctrl+V
  9. 正则表达式 使用编译后的

### 并发
  1. 共享集合防止 迭代稳定性问题 使用写时复制 copyOnWrite

image.png

  1. (强制) lock , CoundDownLatch等 释放需要放在finaly中进行
  2. (强制)对于并发创建全局对象 请使用 DCL ( double check lock ) 双重校验锁 以及 volatile 进行处理
public class Singleton {
   

    //Singleton对象属性,加上volatile关键字是为了防止指定重排序,要知道singlet
  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值