lombok插件的使用
lombok能在编译生成的字节码文件中会帮我们生成这些方法, 让代码更简洁
使用方法:
1. 下载lombok.jar插件并双击安装到eclipse目录
2. maven项目引入依赖
3. 类实体类上添加注解@Data
DO/DTO/VO
DO: 对应数据库的实体对象, 和数据库字段一一对应
DTO: 数据传输对象, DTO本身并不是业务对象
VO: 用于封装传递到前端需要展示的字段, 不需要展示的字段不要包含
使用分层处理非常有必要,
使用beanUtils如何实现数据拷贝
junit test
- 在junit中使用@Transactional会将数据自动恢复
- 在junit中使用Assert断言非常有用, 省时省力
分布式系统
特点: 多节点 / 消息通信 / 不共享内存
集群: 多个厨子做相同的菜
redis分布式锁
使用setnx加锁, 如果不存在则返回1, 如果存在则返回0
使用getset防止死锁, 设置新值并返回旧值
jsessionId
客户端请求服务端的时候, 服务端通过setCookie将jsessionid写入客户端cookie, 后续客户端请求服务端的时候会将jsessionid带上
全局统一异常处理
@ControllerAdvice + @ExceptionHandler 组合进行的 Controller 层上抛的异常全局统一处理
https://blog.csdn.net/kinginblue/article/details/70186586
https://blog.csdn.net/u014044812/article/details/78219692
ab压测工具
使用ab压测工具可以模拟多线程场景
ab -n 500 -c 100 http:www.baidu.com
(500个人启用100个线程)
synchronized关键字
1.无法做到细粒度控制, 对不同的商品做秒杀都会进到这个方法
2.只适合单机的情况