技术钻研
编码能力:
多看:多看别人的代码,从别人的代码中读出软件的架构与设计的设计思路;
多学:掌握各种语言,不要偏执于某一技术阵型,不管java,.net,phtyon还是javascript每种语言都有其优缺点,从语言的本身学习与理解语言设计者的思想;
多做:疯狂编码,从时间与实践中去体验与领悟,工多艺熟;
勇敢:勇敢的重构!让代码变得优雅,易读充满你的设计思想;
方法论:
《设计模式》,《Java编程思想》,《eXtreme Programming》
架构师之路:
并发编程:
1、并发基础:1)线程的起源、实现、优势
2)共享内存,缓存一致性,MESI协议
3)自旋锁,偏向锁,重量级锁
4)一致性模型
5)JMM内存模型
2、线程实现:1)synchronized、volatile关键字
2)happens-before语义
3)线程实现方式
4)wait/notify
5)Thread.join
6)ThreadLocal
3、并发框架:1)核心机制AQS
2)重入锁ReentrantLock
3)线程锁synchronized及Locks
4)并发工具类CountDownLatch
5)线程安全集合ConcurrentHashMap
6)线程池及原理
4、其他:1)fork/join
2)阻塞队列
3)原子操作Atomic
源码分析专题:
1、常用设计模式
1)Proxy代理模式
2)Factory工厂模式
3)Singleton单例模式
4)Delegate委派模式
5)Strategy策略模式
6)Prototype原型模式
7)Template模板模式
2、Spring5
1)IOC容器设计原理及高级特性
2)AOP设计原理
3)FactoryBean与BeanFactory
4)Spring事务处理机制
5)基于SpringJDBC手写ORM框架
6)SpringMVC九大组件
7)手写实现SpringMVC框架
8)SpringMVC与Struts2对比分析
9)Spring5新特性
3、MyBatis
1)代码自动生成器
2)MyBatis关联查询、嵌套查询
3)缓存使用场景及选择策略
4)Spring集成下的SqlSession与Mapper
5)MyBatis的事务
6)分析MyBatis的动态代理的真正实现
7)手写实现Mini版的MyBatis
性能优化
1、理解性能优化:
1)性能基准
2)性能优化到底是什么
3)衡量维度
2、JVM调优:
1)知其然,知其所以然
2)什么是JVM运行时数据区
3)什么是JVM内存模式JMM
4)各垃圾回收器使用场景(Throughput\CMS)
5)理解GC日志,从日志看端倪
6)实战MAT分析dump文件
3、Tomcat调优:
1)How it works?探查Tomcat的运行机制及框架
2)分析Tomcat线程模型
3)Tomcat系统参数认识及调优
4)基准测试
4、Mysql调优:
1)理解Mysql底层B+ Tree机制
2)SQL执行计划详解
3)索引优化详解
4)SQL语句优化
微服务专题
1、微框架:
1)与微服务之间的关系
2)热部署实战
3)核心组件:Starter、Actuator、AutoConfiguration、Cli
4)集成Mybatis实现多数据源路由实战、集成Dubbo实战、集成Redis缓存实战
5)集成Swagger2构建API管理及测试体系
6)实现多环境配置动态解析
2、SpringCloud:
1)Eureka注册中心
2)Ribbon集成REST实现负载均衡
3)Fegion声明式服务调用
4)Hystrix服务熔断降级方式
5)Zuul实现微服务网关
6)Config分布式统一配置中心
7)Sleuth调用链路跟踪
8)BUS消息总线
9)基于Hystrix实现接口实现降级
10)集成SpringCloud实现统一整合方案
3、Docker虚拟化:
1)Docker的镜像、仓库、容器
2)Dock File构建的LNMP环境部署个人博客Wordpress
3)Docker Compose构建LNMP环境部署个人博客Wordpress
4)Docker网站组成、路由互联、Openvswitch
5)基于Swarm构建Docker集群实战
6)Kubernetes简介
4、微服务框架:
1)SOA架构和微服务架构之间的区别和联系
2)如何设计微服务及其设计原理
3)解惑SpringBoot流行因素及能解决什么问题
4)什么是SpringCloud,为什么要选SpringCloud
5)基于全局分析SpringCloud各个组件所解决的问题
工程化专题
1、maven:
1)生成可执行jar、理解Scope生成最精确的jar
2)类冲突、包依赖NoClassDefFoundError问题定位及解决
3)全面理解Maven的Lifecycle、Phase、Goal
4)Maven流行插件实战、手写自己的插件
5)Nexus使用、上传、配置
6)对比Gradle
2、Jenkins:
1)搭建Jenkins自动部署环境
2)Jenkins集成Maven、git实现自动部署
3)test\pre\production多环境发布
4)Jenkins多环境配置、权限管理插件使用
3、Sonar:
1)使用Sonar进行代码质量管理
2)关于代码检查工具FindBugs/PMD的运用
3)SonarQube代码质量管理平台安装及使用
4)使用Jenkins与Sonar集成对代码进行持续检测
5)Idea与Sonar集合的使用
4、Git:
1)什么是Git以及Git的工作原理
2)Git常用命令Best Practise(避坑教学)
3)Git冲突怎么引起的,如何解决
4)架构师职责:Git flow规范团队git使用规程
5)团队案例分享
分布式专题体系
1、分布式架构原理:
1)分布式架构演进过程
2)如何把应用从单机扩展到分布式
3)CDN加速静态文件访问
4)系统监控、容灾、储存动态扩容
5)架构设计及业务驱动分化
6)CAP、Base理论及其应用
2、分布式架构策略
1)分布式架构网络通信原理剖析
2)通信协议中的序列化和反序列化
3)基于框架的RPC技术Webservice/RMI/Hession
4)深入分析Zookeeper在disconf配置中心的应用
5)基于Zookeeper实现分布式服务器动态上下线感知
6)深入分析Zookeeper Zab协议及选举机制源码解读
7)Dubbo管理中心及监控平台安装部署
8)基于Dubbo的分布式系统架构实战
9)Dubbo容错机制及高扩展性分析
3、分布式架构中间件
1)
浙公网安备 33010602011771号