作者:@程序百脑(modengdayuan)

一、背景

最近和各位小伙伴儿私下聊的比较多,各个阶段的朋友都有;因为大环境的内卷,导致大家在求学、求职、提升自己的各个方面都多多少少有些迷茫焦虑;

这些其实是一个非常普遍且正常的现象,会焦虑的人,往往都是对自己要求比较严苛的好同志;如果躺平了,何来焦虑可言! 鉴于其中关于学习方向,学习路线的问题,其实网络如此发达的今天,到处都是免费的学习资料,而且这些资料足够你去学习一门编程语言,但因为多,杂,乱的原因,导致很多人不知道该如何选择、如何去学;于是我熬了几周的长夜,整理了一份完整的Java后端学习路线图,在这里分享给大家,无论你是自学,还是自我提升,总有一个阶段是适合你的;希望能帮到阅读这份资料的每一个人,哪怕是一点点,那这段时间的辛苦就没有白费; 整个学习资料包含了从入门到大神的7个大的阶段,每个阶段都细分了详细的类目,知识点以及学习资料、工具等;如果从头开始;学习周期至少得计划一整年的时间,大家可以根据自己当前所处的阶段,做一些学习路线的调整;

WechatIMG291.png

WechatIMG294.png

⭐Java基础

知识点

WechatIMG298.png

MySQL(7天)

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一;但这个阶段并不需要对数据库做深入的学习,只需了解到SQL的一些基础知识,以及MySQL的常规使用即可;
image.png

知识点

Spring MVC 角色划分清晰,分工明细。由于 Spring MVC 本身就是 Spring 框架的一部分,可以说和 Spring 框架是无缝集成。性能方面具有先天的优越性,是当今业界最主流的 Web 开发框架,最热门的开发技能。
WechatIMG301.png

知识点

WechatIMG309.png

微服务(30天)

Dubbo

Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
WechatIMG310.png

知识点

七、阶段五:实战训练(30天)

经过全面4个阶段的学习,Java的基础知识,常用的企业应用开发框架都已经能熟练掌握并运用了,那么这个阶段就需要结合一个实际的业务场景进行实战训练,将各个知识点通过业务需求串联起来。 这里整理了一批比较优质的开源项目以及实战视频教程,可以根据自己的喜好,挑选一个业务场景,亲自从0开发一个实战项目

WechatIMG326.png

开源项目

image.png

⭐并发编程(30天)

WechatIMG327.png

知识点

  • 线程和进程
  • 线程状态
  • 并行和并发
  • 同步和异步
  • Synchronized
  • Volatile 关键字
  • Lock 锁
  • 死锁
  • 可重入锁
  • 线程安全
  • 线程池
  • JUC 的使用
  • AQS
  • Fork Join
  • CAS

    资料

  • 书籍

  • 视频
  • 实战项目https://github.com/CL0610/Java-concurrency

    ⭐JVM(30天)

    WechatIMG328.png

    知识点

  • JVM发展史

  • 主流JVM
  • JVM 内存结构
    • 程序计数器
    • 虚拟机栈
    • 本地方法栈
    • 方法区
    • 运行时常量池
    • 直接内存
  • 对象的创建
  • 异常
  • Java 代码执行流程
  • 垃圾回收
    • 垃圾收集算法
    • 垃圾收集器Serial收集器、ParNew收集器、Parallel Scavenge收集器、Serial Old收集器、Parallel Old收集器、CMS收集器、G1收集器
    • Stop The World
    • 内存分配与垃圾回收策略
  • class文件的结构
  • 类加载
    • 类的加载时机
    • 类的加载过程加载、验证、准备、解析、初始化
    • 类加载器
  • 字节码
  • JVM 性能调优

    • 性能问题分析
    • 常用工具
    • 参数设置

      资料

  • 书籍

  • 视频
  • 项目

    • Java 虚拟机底层原理知识总结https://github.com/doocs/jvm

      架构方案(30天)

      这里说到的一些方案在上面的学习中都用到过,实际企业产品开发中,会遇到各种书本上无法遇到问题,我们应当储备各种解决方案,在面对实际的问题时,能根据问题特点,制定合适的应对方案。
      WechatIMG329.png

      分布式技术

  • 分布式 原理

    • CAP
    • BASE
  • 分布式缓存
    • Redis
    • Etcd
    • Memcached
  • 一致性算法
    • Raft
    • 一致性hash
  • 分布式事务
    • 2PC
    • 3PC
    • TCC
    • 本地消息表
    • 消息事务
    • 最大努力通知
  • 分布式ID生成
    • snowflake算法
    • 数据库自增
    • Redis生成ID
    • Zookeeper生成ID
    • UUID
  • 分布式服务调度
  • 分布式任务调度
    • Quartz
    • Elastic-job
  • 分布式存储
    • GFS
    • TFS
    • Swift
    • Ceph
  • 分布式数据库
  • 分布式文件系统
  • 分布式协调
    • Zookeeper
  • 分布式监控
    • Prometheus
  • 分布式消息队列
    • Kafka
    • RabbitMQ
    • Apache Pulsar
  • 分布式日志采集
    • Elastic Stack
    • Loki
  • 分布式搜索引擎
    • Elasticsearch
  • 分布式链路追踪
    • Apache SkyWalking
    • Twitter zipkin
    • Google Dapper
    • 淘宝 鹰眼
    • 新浪 Watchman
    • 京东 Hydra
  • 分布式配置中心

    • Apollo
    • Nacos

      高可用

  • 主从

  • 异地多活
  • 容灾备份

    高并发

  • 数据库

    • 分库分表
    • 读写分离
  • 缓存
    • 缓存雪崩
    • 缓存击穿
    • 缓存穿透
  • 负载均衡

    • 负载均衡算法
    • 软硬件负载均衡(2、3、4、7 层)

      其他

  • 监控告警

  • 领域驱动设计
  • 应用安全
  • 线上故障分析
  • 服务网格
  • Serverless
  • 云原生

    九、阶段七:封神之路

    当我们熟练掌握企业级应用开发之后,需要进一步的去探索底层的原理、架构设计、思想理念;不断去调整更大的业务场景、更多的并发量;只有一次次的去挑战边界,才能让你的技术领域越来越广。

WechatIMG330.png

源码解析

框架

WechatIMG331.png

简历