之前的学习总是零碎的,从现在开始要系统的学习总结知识,记博客主要是为了复习,也许在经历很长时间的积累后,可以厚积薄发,融会贯通,运用自如,一通百通。
以下内容持续完善和修正
- 算法
- 学习过程:每个算法写一篇博客,学习算法思想,原理,特点,时间复杂度,对比,代码实现
- 作用:在读jdk源码,框架源码时可以学习对某些算法的使用,解决实际问题时会有基本的方法库储备在大脑中,这些方法可能构成复杂问题解决方案的一个子模块
- 数据结构
- 从基础开始到复杂的数据结构,设计思想,代码实现
- jdk源码
- 初级阶段:学习实现原理,设计模式的使用,算法和数据结构的选用技巧
- 高级阶段:对比各版本的变化,重点掌握最新版本
- java框架源码
- 原理,设计模式,结合使用技巧,总结应用中的问题及解决思路,对比
- 很多jdk内置的解决方案与第三方扩展解决方案的对比
- 内置单机的方案怎样扩展到集群
- jvm调优
- jvm调优,参数总结,从监控工具到监控数据分析到最后的具体解决方法,需要达到的目标
- 内存溢出的发现,溢出点的定位技巧
- 数据库
- 关系数据库方面专攻mysql,确定研究的版本,不同数量的应对
- 常见问题复杂sql的收集,理解
- sql语句调优方法,索引的选用经验
- mysql集群,类型,同步方式,监控
- 非关系型数据库 hbase,mongdb等,数据转化
- 组件
- 缓存,消息队列,
- 分布式服务治理,负载均衡,降级,限流
- 各组件的监控
- 分布式
- 协调,锁,分布式事务,最终一致
- 高可用的保证方案
- 容灾的问题
- 并发
- 不同量级不同的应对方案
- 体系级别的应对设计,各个环节划分后的具体方案
- 模拟真实场景,压测的方法,对比
- 搜索引擎
- 大数据
- 区块链等新技术
- 工具
- 语言工具,脚本(python,js,,函数式,熟悉和对比,平常的应用
- 画图工具,uml14种图,按重要性依次学,包括用图来熟练分析业务问题,用图表达架构意图
- PPT本领的磨炼
- 软件工程,流程相关,devOps理念相关
- 管理相关,项目管理,技术管理