vlambda博客
学习文章列表

开发规范及mysql笔记

1缓存相关常量放在类 CacheConsts 下;系统配置相关常量放在类 ConfigConsts 下

2接口过时必须加@Deprecated 注解,并清晰地说明采用的新接口或者新服务是什么

3不能使用过时的类或方法 如:java.net.URLDecoder.decode(str)-->decode(s,enc);

4字段上不加函数或表达式,业务要求除外

5所有非外连接 SQL(即 INNER JOIN),请把关联表统一写到 FROM 字句中,关

联条件与过滤条件统一写到 WHERE 字句中

6出于代码的可读性原因,所有外连接 SQL 语句中,请一律使用 LEFT JOIN,禁用

RIGHT JOIN

7 按效率从好到差排序: 

字段上有索引 : EXISTS, IN, JOIN 

字段上没有索引: JOIN, EXISTS ,IN

8多表 Join 的分页语句,如果过滤条件在单个表上,需要先分页,再 Join


一些多读可用volatitle修饰

LongAdder adder = new LongAdder();

adder.add(1);

多写的情况:解决多线程内存不可见问题,性能较好(减少乐观锁的重试次数)


MultiValueMap 

MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();

一个key对应多个value

主键id用雪花算法 IdWork

mysql规约

    注意点: 库名... 表级中文注释



一些多读可用volatitle修饰

LongAdder adder = new LongAdder();

adder.add(1);

多写的情况:解决多线程内存不可见问题,性能较好(减少乐观锁的重试次数)



exsits  not exsits 应换成 '等连接' '外连接' 来查询


先连接后分页与先分页后连接性能问题


变量的数据类型问题