大厂SSP的Java学习路线
现在互联网环境这么差,Java还能学吗? 学Java还能找到工作吗?
大家好呀, 我是程序员回家养猪, 一个专升本, 三段实习经历拿下大厂SSP offer的程序员博主.
关于我的个人经历, 之前文章有聊过了。
虽然现在Java开发的行情确实比以前要差很多,但是差并不是光Java开发差,是所有行业都变差了。综合来看,Java后端开发依旧是性价比非常高的一个方向。
那么这一期来聊聊Java后端开发的学习路线吧。
首先要明确你的目标是什么,你是要进大厂还是要进中厂?还是要进小厂?
大厂有大厂的技术要求,小厂有小厂的技术要求。
进大厂所需要学的知识肯定是和进小厂不一样的。进大厂的学习路线肯定也是和进小厂不一样的。
特点
这一篇学习路线和其他学习路线不太一样, 主要有以下特点
根据目标定计划
- 小厂(入门阶段)怎么学,中厂(进阶阶段)怎么学,大厂(高级阶段)怎么学
快,短而精, 去掉了一些非必须的知识
- 短并不意味着要跳着学, 学习曲线十分平滑, 不会学的很难受
详细到知识点, 哪些知识点是哪个阶段的重点
每个点都会给出学习建议
必看的视频推荐, 项目推荐 (都是精品中的精品)
- 一条线, 不会告诉你既可以学这个又可以学那个, 既可以看这个又可以看那个.
- 不会给初学者搞晕, 只给你一条路径, 一条线学下去就行了
b站也有学习路线讲解视频
【大厂SSP的Java学习路线,零基础,分阶段,极简的自学编程指南,全网最全面最贴心】 https://www.bilibili.com/video/BV1ExmhYVERA/?share_source=copy_web&vd_source=dbae968b96c316f9084e2b52adeabb5d
小厂 - Java后端学习路线
重点与目标
- 基本的后端crud开发能力
- redis, mq等中间件的基本使用
- 简单八股文
学习路线

完整的学习路线思维导图太大了, 截图放不下. 文章末尾会放完整的学习路线思维导图和编程大礼包的领取方式, 直接领取即可, 都是免费的.
笔记工具
- 本地笔记: typora
- 云笔记: 语雀
JavaSE
- 必学
- 知识点
- 基本语法
- 面向对象
- 常用工具类
- 集合与泛型
- 异常处理
- 学习建议
- 必学知识, 多写代码, 多写案例
- 理解编程的基本语法, 理解面向对象的基本思想
- 知识点
- 了解
- 知识点
- IO流
- 多线程
- 注解
- 反射
- java8新特性
- 学习建议
- 了解即可,知道有这个东西,知道干啥用的即可
- 需要用的时候再查
- 知识点
- 推荐课程
MySQL
- 知识点
- 表操作DDL
- 增删改DML
- 查询
- 单表查询
- 复杂查询
- 多表查询
- 常用函数
- 约束
- 事务
- 推荐课程
- 学习建议
- 视频不必全部看完, 只学基础篇即可.
- 非常重要, 基本的crud和事务一定要学明白, 多敲多写
后端开发
知识点
- 了解前端
- 构建与包管理工具: maven
- JavaWeb
- ajax, json, xml
- Servlet
- Filter
- Cookie
- Session
- Springboot
- Spring
- IOC
- AOP
- 事务相关
- 常考八股
- SpringMVC
- MVC
- 注解使用, 请求响应处理
- Restful
- 拦截器
- 整合其他框架
- MyBatis
- CRUD
- 分页查询
- 多表查询
- 动态sql
- Mybatis plus
- MyBatis
- Spring
学习建议
- 后端最核心的课程, 干活必用的工具
推荐课程
- 黑马程序员JavaWeb开发教程
- https://www.bilibili.com/video/BV1m84y1w7Tb/?spm_id_from=333.337.search-card.all.click&vd_source=42db8244c1ec9b601d4410f49b3f3477
项目
瑞吉外卖
- SpringBoot+Mybatis的crud项目
- 版本管理工具 - git
- redis
- linux
- nginx
推荐课程
学习建议
- 一定要动手敲代码, 解决开发中的问题
- 学习项目搭建, 开发, 部署的整个流程
- 学到这里恭喜你已经具备了企业开发的基本能力。这时候其实可以尝试找一个mini厂去实习了
版本管理工具
git
- 学习建议
- 必学, 会用即可, 不必深入学习
计算机基础
数据结构
- 线性表/数组
- 链表
算法
- 排序
- 冒泡排序
- 查找
- 二分查找
设计模式
- 单例
- 工厂
学习建议
- 小厂对计算机基础考察很少
- 只需要学习基本的就够用了
中间件
Redis
- 知识点
- 基本命令
- redis基础数据结构
- 缓存
- 缓存击穿
- 缓存穿透
- 缓存雪崩
- 淘汰机制与持久化策略
- 缓存与数据库一致性的问题
- 推荐课程
- 学习建议
- 视频只看基础篇和实战篇即可
- 面试重点, 一定要学明白, 想明白
MQ - RabbitMQ
知识点
- 基本使用
- 解耦, 异步, 削峰
推荐课程
学习建议
- 视频不必全部看完, 看标记知识点, 基本会用即可
运维相关
- linux
- 基本命令
- 会看日志
- vim使用
八股文
- ConcurrentHashMap
- Spring系列八股文
- MySQL, Redis, MQ简单八股文
学习建议
- 面试常考内容, 对入门阶段的同学要求不会很高, 常见的八股文能说出来即可
中厂 - Java后端学习路线
重点与目标
- mysql, redis, mq等中间件高级篇
- jvm juc与常见八股文的学习
- 基本的计算机基础知识
- 简单算法题
学习路线

完整的学习路线思维导图太大了, 截图放不下. 文章末尾会放完整的学习路线思维导图和编程大礼包的领取方式, 直接领取即可, 都是免费的.
前置知识
- 必须先确保自己学完了 小厂(入门)-Java学习路线
JavaSE
- 多线程
- java8新特性
- 反射
MySQL
知识点
- 事务
- 存储引擎
- 索引
- SQL优化
推荐课程
- 黑马程序员 MySQL (基础篇)
- https://www.bilibili.com/video/BV1Kr4y1i7ru/?spm_id_from=333.999.0.0&vd_source=42db8244c1ec9b601d4410f49b3f3477
学习建议
- 视频从进阶篇开始学完标记为2的知识点即可
- 非常重要, 面试的高频考点
中间件
Redis
- 知识点
- 缓存
- 缓存击穿
- 缓存穿透
- 缓存雪崩
- 分布式锁
- 分布式会话
- 缓存与数据库一致性的问题
- 缓存
- 推荐课程
- 学习建议
- 视频只看实战篇与高级篇即可
- 面试重点, 一定要学明白, 想明白
MQ
RabbitMQ
- 消息的可靠性
- 死信队列/延迟队列/惰性队列/...
RocketMQ
- 选学
Kafka
- 选学
推荐课程
Nginx
- 了解即可, 不必太深入学习
项目
黑马点评redis (实战篇与高级篇)
学习建议
- 黑马点评不仅是讲redis的课程, 而且是极好的项目
- 视频只看实战篇与高级篇即可, 学会了项目亮点就有了
- stream相关可以直接用MQ代替, 不必完全按照课程写
计算机基础
数据结构
- 栈
- 队列
- 哈希表
算法
- 排序
- 堆排序
- 归并排序
- 快速排序
- 查找
- 二分查找
- 分治
- 贪心
- 回溯
- 搜索
- bfs
- dfs
操作系统
- 基础知识
- 用户态/内核态
- 系统调用, 中断, 异常, 陷入
- 进程与线程
- 进程与线程比较
- 进程三种状态
- 进程通信
- 进程调度算法
- 同步与互斥
- 死锁
计算机网络
- 网络分层
- OSI分层
- TCP/IP分层
- 数据链路层
- MAC地址
- ARP协议
- 网络层
- IP相关
- 传输层
- UDP特点
- TCP
- 三次握手, 四次挥手
- 可靠传输
- 流量控制
- 拥塞控制
- 应用层
- DNS
- HTTP
- FTP
计算机组成原理
- 二进制
- 进制转换
- 源码反码补码
设计模式
- 单例
- 工厂
推荐资料
- 小林coding
- https://xiaolincoding.com/
Java底层
JVM
- 内存结构
- 垃圾回收
- 类加载
JUC
- 锁
- synchronized
- ReentrantLock
- CAS
- AQS
- 线程池
- 并发工具类
- ConcurrentHashMap
- ...
运维相关
linux
- vim使用
- shell脚本
八股文
MySQL相关八股文
Redis相关八股文
MQ相关八股文
并发与锁相关八股文
学习建议
- 面试常考内容, 一定要熟练掌握
- 不要死记硬背, 理解记忆, 要想明白在项目中是怎么用的
推荐资料
- 小林coding
- javaguide
算法题
学习算法思想: 代码随想录
面试常考题: code top
学习建议
- 这个阶段算法题考的比较基础, 不必学太深入
- 建议每天刷一两道简单算法题, 了解基本的算法思想, 学会写基本算法题即可
大厂 - Java后端学习路线

由于目前文章太长了, 所以大厂的Java学习路线会放在下一期. 敬请期待吧.
编程大礼包和资料
关注公众号: 程序员回家养猪
发送: "Java后端开发学习路线"
即可领取全部学习路线思维导图(pdf版和xmind版)和编程大礼包
编程大礼包内含typora(pojie版), idea(pojie版), jdk, mysql等常用安装包.
有些同学可能在想领个资料为什么这么麻烦, 因为都是个人原创的学习路线. 创作, 搜集资料十分不易, 所以还是希望如果对你有帮助的话能支持一下.
大厂SSP的Java学习路线的更多相关文章
- 【强烈推荐】可能是最适合你的 Java 学习路线和方法
如遇链接无法打开,建议使用 https://github.com/Snailclimb/JavaGuide/blob/master/docs/questions/java-learning-path- ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- java学习路线(好资源大家分享)
对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...
- 最新java学习路线:含阶段性java视频教程完整版
最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...
- 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)
这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么.不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐视频: 下面的是黑马内部视频,我比较推荐的 ...
- 【Todo】Java学习路线(方向指导)
在网上搜了下Java学习路线(关键词:学习,因为众所周知,实践出牛人,在平时工作不怎么深入的情况下,才强调学习的方向的重要性 ^_^) 发现下面知乎这个回答写的真好.mark如下: https://w ...
- java学习路线推荐,希望能帮到你
很多小白刚开始学习java时,肯定迷惘过,因为对java基本是啥也不懂的,一直想知道java的具体学习路线,我曾经也看了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,特别 ...
- Java学习路线|转至CodeSheep
Java学习路线 基础知识 . 基本语法 基本网络知识:tcp/ip http/https 工具方面 . 操作系统:linux (CentOS\Ubuntu\Fe..) 代码管理:svn/git 持续 ...
- 从入门到精通,Java学习路线导航
引言最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,实在是每天回复很多人也很麻烦,所以在这里统一作个回复吧. Ja ...
- 从入门到精通,Java学习路线导航(附学习资源)
原文链接:https://blog.csdn.net/qq_42453117/article/details/100655512 引言 最近也有很多人来向我"请教",他们大都是一些 ...
随机推荐
- springjdbc处理nvarchar
当我们使用spring-jdbc来做持久化时(注意不是spring-data-jbc),有时候一些特殊字符存入数据库时会用到nvarchar.nvarchar2这种类型(比如存放化学式,如CO₂等), ...
- C#自定义控件—文本显示、文本设值
C#用户控件之文本显示.设定组件 如何绘制一个便捷的文本显示组件.文本设值组件(TextShow,TextSet)? 绘制此控件的目的就是方便一键搞定标签显示(可自定义方法显示文本颜色等),方便自定义 ...
- 开源文档管理系统 MinDoc 安装和使用教程
说到文档管理,很多团队的文档管理都是一团糟,每个员工在自己本地写了各种 Word 文档.Excel 表格.甚至还有手写的便签,到处都是,找起来就像大海捞针.有些聪明的团队开始用飞书来管理团队文档,但是 ...
- AGC007F 题解
题意 给定两个长为 \(n\) 的字符串 \(S, T\),求最少进行多少次操作才能使 \(S = T\). 一次操作定义为:对于 \(i = 1, 2, .. n\),令第 \(i\) 位为操作后的 ...
- 微前端实践MicroApp
微前端实践 本文主要是关于microApp的实践过程记录 本文主要内容如下: 什么是MicroApp? MicroApp的父子通讯方式以及路由介绍 如何部署相关应用? 安装 npm i @micro- ...
- QT6框架WebEngine模块之WebEngine总体介绍以及WebEngine能做什么?
QT6框架WebEngine模块之WebEngine总体介绍以及WebEngine能做什么? 简介 本文简略介绍QT6框架WebEngine模块之WebEngine总体介绍以及WebEngine能做什 ...
- Nuxt.js 应用中的 app:suspense:resolve 钩子详解
title: Nuxt.js 应用中的 app:suspense:resolve 钩子详解 date: 2024/10/6 updated: 2024/10/6 author: cmdragon ex ...
- select框多选(利用Bootstrap-select)
前端HTML: <select id="usertype" multiple class="selectpicker" style="width ...
- 深入理解HDFS 错误恢复
我们从动态的角度来看 hdfs 先从场景出发,我们知道 hdfs 的写文件的流程是这样的: 数据以 pipeline 的方式写入 hdfs ,然后对于读取操作,客户端选择其中一个保存块副本的 Data ...
- kdump
Kdump简单介绍 什么是Kdump? Kdump是在系统崩溃.死锁或死机时用来转储内存运行参数的一个工具和服务,是一种新的crash dump捕获机制,用来捕获kernel crash(内核崩溃)的 ...