## 究上:学习优秀的设计和思路 1. 看源码:jdk 8、spring、mybatis、dubbo、rocketmq - jdk 8:Map(HashMap/ConcurrentHashMap)、Collection(ArrayList/LinkedList/BlockingQueue) - spring:bean生命周期、依赖注入、AOP实现(动态 VS 静态)、MVC、事务、springboot - mybatis:ORM概念和原理、执行流程、一级缓存和二级缓存 - dubbo:执行流程、拦截器处理、如何自定义拦截器、序列化、服务注册与发现 - rocketmq:执行流程、如何做MQ监控、消息可靠性保证、如何解决重复消费 2. [设计模式](https://github.com/iluwatar/java-design-patterns) - 工厂模式 - 单例模式 - 观察者模式 - 门面模式 - 责任链模式 - 代理模式 - 策略模式 3. 高可用:部署、mysql、redis 4. 性能优化:线程池、并行、异步、批量写、缓存、读写分离 5. 整洁的代码:坏味道、重构手法、IDEA重构技巧 6. DDD:领域建模 ## 究下:技术的本质是不变的 1. core java:java se、jvm - se:语法、关键字(final、finally、static等)、OOP - jvm:内存模型、类加载机制、垃圾回收算法、GC、内存分配、对象创建 2. 操作系统:CPU、内存、硬盘 3. 协议 :TCP、UDP、HTTP、HTTPS 4. 数据结构:队列、栈、数组、map 5. 常用算法:快排、堆排、深度优先查找、广度优先查找、二分法 6. 编码的本质 7. 多线程 ## 进行中 1. clean code 参考资料:《重构》、《代码整洁之道》 2. DDD 参考资料:《领域驱动设计》
究上:学习优秀的设计和思路
究下:技术的本质是不变的
进行中
参考资料:《重构》、《代码整洁之道》
参考资料:《领域驱动设计》