基础
- (强制)项目中不要使用jdk自带序列化,请使用json序列化,或者google proto buffer序列化
- jdk自带序列化使用二进制流进行序列化,不支持** 多客户端语言**
- 性能 不如json序列化,和google Proto Buffer序列化
- ** 安全性 **
- 对于配置文件信息,使用配置类注入
- (强制)命名使用 英文单词 驼峰命名,满足见字知意的原则 (禁止使用中文拼音命名,禁止使用1,2,3,4重复命名)
- 日志打印按照日志级别的类型进行打印日志,对于重要地方的入参建议打印具体参数
- (强制)字符串需要使用 StringUtils.isBlank 判空
- (强制) 集合类型 使用 coll != null 以及 size > 0进行判断
- (强制)经常使用的 数据 请定义为常量,不要每次都在方法 中初始化
- (强制)经常使用代码块 封装为方法,不要再代码中进行 Ctrl+C Ctrl+V
- 正则表达式 使用编译后的
### 并发
- 共享集合防止 迭代稳定性问题 使用写时复制 copyOnWrite
- (强制) lock , CoundDownLatch等 释放需要放在finaly中进行
- (强制)对于并发创建全局对象 请使用 DCL ( double check lock ) 双重校验锁 以及 volatile 进行处理
public class Singleton {
//Singleton对象属性,加上volatile关键字是为了防止指定重排序,要知道singlet