抽象类的作用
降低接口实现类对接口实现过程的难度,将接口中不需要使用抽象方法交给抽象类进行完成,这样接口实现类只需对接口需要的方法进行重写
编程时每一个操作都有理论依据
为什么要问源码?
- 方便调试BUG
- 看懂源码,方便扩展
- 方便做二次开发或者自己项目接口开发
- 提升内功,学习别人的设计思想
spring源码:
- ioc创建过程
- bean实例化过程
- 循环依赖
- AOP
- 事件发布监听
函数式编程
函数式编程(FP)的意义所在。通过合并现有代码来生成新功能而不是从头开始编写所有内容,我们可以更快地获得更可靠的代码。
OO(object oriented,面向对象)是抽象数据,FP(functional programming,函数式编程)是抽象行为。
Stream的使用建议
- 简单的迭代逻辑,可以直接使用 iterator,对于有多步处理的迭代逻辑,可以使用 stream,损失一点几乎没有的效率,换来代码的高可读性是值得的;
- 单核 cpu 环境,不推荐使用 parallel stream,在多核 cpu 且有大数据量的条件下,推荐使用 paralle stream;
- stream 中含有装箱类型,在进行中间操作之前,最好转成对应的数值流,减少由于频繁的拆箱、装箱造成的性能损失
https://xie.infoq.cn/article/6521ea3ae8a36f2bdaece6e61