【目录】
1.Java8 Lambda*
2.Java8 Stream*
3.Lombok
4.Guava
5.设计原则*
6.设计模式*
7.单元测试*
8.第11课总结回顾与作业实践
一 Lambda 表达式
函数式接口
分类
@FunctionalInterface(可查看源码实现)
Predicate 有参数、条件判断
Function<T, R> 有参数、有返回值
Consumer 无返回值
Supplier 无参数、有返回值
二 Stream
定义
操作
在这里插入图片描述
三 Lombok
会在 .class 文件静态编译所需代码
基于字节码增强,编译器处理
四 Guav
集合
缓存
本地缓存实现,支持多种缓存过期策略
并发
字符串处理
分割,连接,填充等
事件总线
发布-订阅模式的组件通信,进程内模块内解耦
反射
反射机制工具类
五 设计原则
最小知识原则:高内聚低耦合
常见的编码规范:
1、Google 编码规范:https://google.github.io/styleguide/javaguide.html
2、Alibaba 编码规范:https://github.com/alibaba/p3c
3、VIP 规范:https://vipshop.github.io/vjtools/#/standard/
其他规范:
架构设计规范,技术调研规范,数据库规范等等
六 设计模式(23种)
七 单元测试
单元测试的常见陷阱与经验
- 尽量不要访问外部数据库等外部资源
- 如果必须用数据库考虑用嵌入式 DB+ 事务自动回滚
- 防止静态变量污染导致测试无效
- 小心测试方法的顺序导致的不同环境测试失败
- 单元测试总时间特别长的问题