大厂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 引言 最近也有很多人来向我"请教",他们大都是一些 ...
随机推荐
- 【防忘笔记】Spring+Struts2古董框架学习
Spring+Struts2项目框架梳理 若基于Spring+Struts2的方式进行开发,前后端的交互逻辑会与boot系以及MCV的组织结构有所不同 这里是对于学习过程的一些记录 前置通用知识 St ...
- zabbix4.0配置短信报警
1.准备工作 #访问短信网址:172.16.98.1,网线插LAN口 #账号&密码:admin 安装ubuntu系统模拟http请求工具(命令行模式) # apt-get install ht ...
- 高维前缀和 (SOSDP)
算法介绍--高维前缀和 引入 我们都知道二维前缀和有这么一个容斥的写法: for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ s[i][j]=s[i ...
- 【转】ElasticSearch报错FORBIDDEN/12/index read-only / allow delete (api) ,read_only_allow_delete 设置 windows
仅供自己记录使用,原文链接:ElasticSearch报错FORBIDDEN/12/index read-only / allow delete (api)_sinat_22387459的博客-CSD ...
- spark 先groupby 再从每个group里面选top n
import spark.implicits._ val simpleData = Seq(("James","Sales","NY",90 ...
- Mybatis骚操作-通用查询工具类
老项目大多都有对JDBC进行了封装,可以直接执行SQL的工具类,在做项目升级改造的时候(这里仅指整合mybatis),要么全部调整成dao-xml的形式(会有改动代码多的问题,而且看代码时需要xml和 ...
- OData – OData vs GraphQL
GraphQL 很火, 很厉害, 但是它和 OData 有本质的区别. 所以并不是说任何一样对比另一个绝对的好. GraphQL is not OData twitter 的讨论 有几个点是我能 Ge ...
- 选择:Qt Creator、Qt Designer、Qt Design Studio,三种开发工具,您选择哪一种?
前言 本文介绍了三种QT开发工具的特点,以及各自的优点和缺点. QT三种工具对比 QT提供的工具 Qt Creator: 扮演的是QT Widgets和QT QML的IDE的角色. 优点: 可以编写C ...
- ARM汇编: B、BL 与R14(LR)、R15(PC)
1. b与bl指令的作用是什么? b与bl指令的作用:实现程序跳转,也就是调用子程序. 2. b与bl指令的区别是什么? b与bl指令的区别: b指令:简单的程序跳转,跳转到到目标标号处执行. bl指 ...
- 关于 B 先生
B 先生是不是要疯了,他今天说的都是他妈什么几把