【转】归纳一个从某课程薅来的Java架构学习计划和知识体系-给自己记录一下(赶紧学)

1.Java基础-源码

1. 常用的设计模式

  • Proxy代理模式
  • Factory工厂模式
  • Singleton单例模式
  • Delegate委派模式
  • Strategy策略模式
  • Prototype原型模式
  • Template模版模式
  • Decorator装饰器模式
  • Observer观察者模式

2. Spring5源码和层次分析

  • Beans

    1.接口实例化
    2.代理Bean操作

  • Context

    1.IOC容器的设计原理及高级特性
    2.AOP设计原理
    3.FactoryBean和BeanFactory

  • Transaction

    1.声明式事务底层原理
    2.Spring事务处理机制
    3.事务的传播与监控
    4.基于SpringJDBC手写ORM框架

  • MVC

    1.MVC原理
    2.与IOC容器整合
    3.HandlerMapping实现原理
    4.HandlerAdapter实现原理
    5.ViewResolver实现原理
    6.Controller调用原理
    7.动态参数匹配原理
    8.SpringMVC与Struts2对比
    9.手动实现SpringMVC框架

  • Spring5新特性

    1.Spring5.x兼容性
    2.多序列化数据格式绑定API
    3.函数式风格的ApplicationContext
    4.Kotlin表达式
    5.WebFlux模块
    6.Testing改进

3. Mybatis源码和层次分析

  • 代码自动生成器:Generator
  • Mybatis下:1对多、多对多 嵌套结果、嵌套查询
  • 一级缓存、二级缓存使用场景及选择策略
  • Mybatis与Spring集成:Spring-Mybatis.jar
  • Spring集成下的SqlSession与Mapper
  • Mybatis的事务
  • Mybatis的动态代理的实现
  • 手动实现Mybatis1.0->2.0

2.分布式架构

1. 漫谈分布式架构

  • 分布式架构概念及意义

  • 如何把应用从单机扩展到分布式

  • 大型分布式架构演进过程

  • 构建分布式架构最重要因素

    1.CDN加速静态文件访问
    2.分布式存储
    3.分布式搜索引擎
    4.应用发布与监控
    5.应用容灾及机房规划
    6.系统动态扩容

  • 分布式架构设计

    1.主流架构模型-SOA架构及微服务架构
    2.领域驱动设计及业务驱动划分
    3.分布式架构的基本理论CAP、BASE及其应用
    4.什么是分布式架构下的高可用设计
    5.分布式架构下的可伸缩设计
    6.构建高性能的分布式架构

2. 分布式架构策略-分而治之

  • 从网络通信探究分布式通信的原理

  • 基于消息方式的系统间通信

  • 理解通信协议传输过程中的序列化和反序列化的机制

  • 基于框架的RPC通信技术

    a.Webservice/Apache CXF
    b.RMI/Spring RMI
    c.Hessian
    d.Motan(新浪)

  • 传统RPC技术在大型分布式架构下面临的问题

  • 分布式架构下的RPC解决方案

  • Zookeeper分布式系统的基石

    a.学习搭建Zookeeper集群
    b.深入分析ZK在disconf配置中心的应用
    c.基于ZK的分布式锁解决方案
    d.Zookeeper Watcher核心机制深入源码分析
    e.Zookeeper集群升级、迁移
    f.基于Zookeeper实现分布式服务器动态上下线感知
    g.Zookeeper Zab协议及选举机制源码

  • 使用Dubbo对单一应用服务化改造

    a.Dubbo管理中心及监控平台安装部署
    b.Dubbo分布式服务模块划分(领域驱动)
    c.基于Dubbo的分布式系统架构实战
    d.Dubbo负载均衡策略分析
    e.Dubbo服务调试之服务只订阅及服务只注册配置
    f.Dubbo服务接口设计原则
    g.Dubbo设计原理及源码分析
    h.基于Dubbo构建大型分布式电商平台实战雏形
    i.Dubbo容错机制及高扩展性分析

    3. 分布式架构中间件

    • 分布式消息通信

      a.消息中间件在分布式架构中的应用
      b.ActiveMQ

       -ActiveMQ高可用集群企业级部署方案
       -ActiveMQ P2P及PUB/SUB模型详解
       -ActiveMQ消息确认以及重发策略
       -ActiveMQ基于Spring完成分布式消息队列实战
      

      c.Kafka

       -Kafka基于ZK搭建高可用集群
       -Kafka消息处理过程解析
       -Java客户端实现Kafka生产者与消费者实例
       -Kafka的副本机制及选举原理解析
       -基于Kafka实现应用日志实时上报统计分析
      

      d.RabbitMQ

       -初步认识RabbitMQ及高可用集群部署
       -详解RabbitMQ消息分发机制及主题消息分发
       -RabbitMQ消息路由机制分析
       -RabbitMQ消息确认机制
      

      e.Elasticsearch

    • 分布式缓存Redis
      a.Redis的数据结构分析
      b.Redis主从复制原理及无磁盘复制分析
      c.Redis管道模式详解
      d.Redis缓存与数据库一致性问题解决方案
      e.基于Redis实现分布式锁
      f.Redis中AOF和RDB持久化策略的原理
      g.Redis读写分离架构
      h.Redis哨兵架构及数据丢失问题分析
      i.Redis Cluster数据分布算法之 Hash slot
      j.Redis使用常见问题及性能优化思路
      k.Redis高可用及高伸缩架构实战
      l.缓存击穿、缓存雪崩预防策略
      m.Redis批量查询优化
      n.Redis高性能集群之twenproxy or codis

    • 数据存储
      a.mongoDB

       -NoSQL简介及MongoDB基本概念
       -MongoDB支持的数据类型分析
       -MongoDB可视化客户端及Java API实践
       -手动实现基于MongoDB的ORM框架
       -MongoDB企业级集群解决方案
       -MongoDB聚合、索引及基本执行命令
       -MongoDB数据分片、转存及恢复策略
      

      b.MyCat

       -MySQL主从复制及读写分离
       -MySQL+KeepAlived实现双主高可用方案实践
       -MySQL高性能解决方案之分库分表
       -数据中间件Mycat
       -基于Mycat实现MySQL数据库读写分离
       -Mycat全局表,ER表,分片策略分析
      
    • Nginx后台服务

    • 高性能NIO框架Netty

    4. 分布式解决方案

3.微服务架构

4.并发编程

5.代码性能优化

6.工程化与工具

7.项目实战(可选)

猜你喜欢

转载自blog.csdn.net/qq_35576994/article/details/84777199