现在互联网环境这么差,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

后端开发

知识点

  • 了解前端
  • 构建与包管理工具: maven
  • JavaWeb
    • ajax, json, xml
    • Servlet
    • Filter
    • Cookie
    • Session
  • Springboot
    • Spring

      • IOC
      • AOP
      • 事务相关
      • 常考八股
    • SpringMVC
      • MVC
      • 注解使用, 请求响应处理
      • Restful
      • 拦截器
    • 整合其他框架
      • MyBatis

        • CRUD
        • 分页查询
        • 多表查询
        • 动态sql
      • Mybatis plus

学习建议

  • 后端最核心的课程, 干活必用的工具

推荐课程

项目

瑞吉外卖

  • SpringBoot+Mybatis的crud项目
  • 版本管理工具 - git
  • redis
  • linux
  • nginx

推荐课程

学习建议

  • 一定要动手敲代码, 解决开发中的问题
  • 学习项目搭建, 开发, 部署的整个流程
  • 学到这里恭喜你已经具备了企业开发的基本能力。这时候其实可以尝试找一个mini厂去实习了

版本管理工具

git

  • 学习建议

    • 必学, 会用即可, 不必深入学习

计算机基础

数据结构

  • 线性表/数组
  • 链表

算法

  • 排序

    • 冒泡排序
  • 查找
    • 二分查找

设计模式

  • 单例
  • 工厂

学习建议

  • 小厂对计算机基础考察很少
  • 只需要学习基本的就够用了

中间件

Redis

MQ - RabbitMQ

运维相关

  • linux

    • 基本命令
    • 会看日志
    • vim使用

八股文

  • ConcurrentHashMap
  • Spring系列八股文
  • MySQL, Redis, MQ简单八股文

学习建议

  • 面试常考内容, 对入门阶段的同学要求不会很高, 常见的八股文能说出来即可

中厂 - Java后端学习路线

重点与目标

  • mysql, redis, mq等中间件高级篇
  • jvm juc与常见八股文的学习
  • 基本的计算机基础知识
  • 简单算法题

学习路线

完整的学习路线思维导图太大了, 截图放不下. 文章末尾会放完整的学习路线思维导图和编程大礼包的领取方式, 直接领取即可, 都是免费的.

前置知识

  • 必须先确保自己学完了 小厂(入门)-Java学习路线

JavaSE

  • 多线程
  • java8新特性
  • 反射

MySQL

知识点

  • 事务
  • 存储引擎
  • 索引
  • SQL优化

推荐课程

学习建议

  • 视频从进阶篇开始学完标记为2的知识点即可
  • 非常重要, 面试的高频考点

中间件

Redis

MQ

Nginx

  • 了解即可, 不必太深入学习

项目

黑马点评redis (实战篇与高级篇)

计算机基础

数据结构

  • 队列
  • 哈希表

算法

  • 排序
  • 堆排序
  • 归并排序
  • 快速排序
  • 查找
    • 二分查找
  • 分治
  • 贪心
  • 回溯
  • 搜索
    • bfs
    • dfs

操作系统

  • 基础知识

    • 用户态/内核态
    • 系统调用, 中断, 异常, 陷入
  • 进程与线程
    • 进程与线程比较
    • 进程三种状态
    • 进程通信
    • 进程调度算法
    • 同步与互斥
    • 死锁

计算机网络

  • 网络分层

    • OSI分层
    • TCP/IP分层
  • 数据链路层
    • MAC地址
    • ARP协议
  • 网络层
    • IP相关
  • 传输层
    • UDP特点
    • TCP
      • 三次握手, 四次挥手
      • 可靠传输
      • 流量控制
      • 拥塞控制
  • 应用层
    • DNS
    • HTTP
    • FTP

计算机组成原理

  • 二进制
  • 进制转换
  • 源码反码补码

设计模式

  • 单例
  • 工厂

推荐资料

Java底层

JVM

  • 内存结构
  • 垃圾回收
  • 类加载

JUC

  • synchronized
  • ReentrantLock
    • CAS
    • AQS
  • 线程池
  • 并发工具类
    • ConcurrentHashMap
    • ...

运维相关

linux

  • vim使用
  • shell脚本

八股文

MySQL相关八股文

Redis相关八股文

MQ相关八股文

并发与锁相关八股文

学习建议

  • 面试常考内容, 一定要熟练掌握
  • 不要死记硬背, 理解记忆, 要想明白在项目中是怎么用的

推荐资料

算法题

学习算法思想: 代码随想录

面试常考题: code top

学习建议

  • 这个阶段算法题考的比较基础, 不必学太深入
  • 建议每天刷一两道简单算法题, 了解基本的算法思想, 学会写基本算法题即可

大厂 - Java后端学习路线

由于目前文章太长了, 所以大厂的Java学习路线会放在下一期. 敬请期待吧.

编程大礼包和资料

关注公众号: 程序员回家养猪

发送: "Java后端开发学习路线"

即可领取全部学习路线思维导图(pdf版和xmind版)和编程大礼包

编程大礼包内含typora(pojie版), idea(pojie版), jdk, mysql等常用安装包.

有些同学可能在想领个资料为什么这么麻烦, 因为都是个人原创的学习路线. 创作, 搜集资料十分不易, 所以还是希望如果对你有帮助的话能支持一下.

大厂SSP的Java学习路线的更多相关文章

  1. 【强烈推荐】可能是最适合你的 Java 学习路线和方法

    如遇链接无法打开,建议使用 https://github.com/Snailclimb/JavaGuide/blob/master/docs/questions/java-learning-path- ...

  2. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  3. java学习路线(好资源大家分享)

    对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...

  4. 最新java学习路线:含阶段性java视频教程完整版

    最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...

  5. 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)

    这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么.不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐视频: 下面的是黑马内部视频,我比较推荐的 ...

  6. 【Todo】Java学习路线(方向指导)

    在网上搜了下Java学习路线(关键词:学习,因为众所周知,实践出牛人,在平时工作不怎么深入的情况下,才强调学习的方向的重要性 ^_^) 发现下面知乎这个回答写的真好.mark如下: https://w ...

  7. java学习路线推荐,希望能帮到你

    很多小白刚开始学习java时,肯定迷惘过,因为对java基本是啥也不懂的,一直想知道java的具体学习路线,我曾经也看了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,特别 ...

  8. Java学习路线|转至CodeSheep

    Java学习路线 基础知识 . 基本语法 基本网络知识:tcp/ip http/https 工具方面 . 操作系统:linux (CentOS\Ubuntu\Fe..) 代码管理:svn/git 持续 ...

  9. 从入门到精通,Java学习路线导航

    引言最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,实在是每天回复很多人也很麻烦,所以在这里统一作个回复吧. Ja ...

  10. 从入门到精通,Java学习路线导航(附学习资源)

    原文链接:https://blog.csdn.net/qq_42453117/article/details/100655512 引言 最近也有很多人来向我"请教",他们大都是一些 ...

随机推荐

  1. Ubuntu上snmp安装、配置、启动及远程测试完整过程

    说明 关于一个完整的教程,还是那句话,国内的要么不完整,要么就太旧了,而且思路也不清晰,所以这里写一篇完整的给大家分享一下. 虽然对于Linux主机的监控可以通过执行特定的命令来完成,但是相比之后,通 ...

  2. Ubuntu 笔记本设置合盖不息屏

    编辑 logind.conf 文件 你可以通过编辑 /etc/systemd/logind.conf 文件来控制盖子关闭时的行为: 找到以下几行(如果不存在,可以手动添加): #HandleLidSw ...

  3. 在 Python 中通过读取 .env 文件获得环境变量

    在编写 Python 脚本时,我们会使用一些私密数据,如调用 API 时使用的 token.为了避免隐私泄露,这些私密数据一般不直接写入脚本文件中.而是写入一个文件,并通过读取文件的方式获取私密数据内 ...

  4. Windows 包管理器

    WinGet WinGet 是微软官方的软件管理器. 搜索 WinGet 包 常用命令 winget install <packaeg> # 安装包 winget uninstall &l ...

  5. 【爬虫实战】——利用bs4和sqlalchemy操作mysql数据库,实现网站多行数据表格爬取数据

    前言 此篇接上一篇的内容,在其基础上爬取网站的多行表格数据,以及把数据写入到mysql数据库中 目录 一.定位表格查找元素 二.提取数据 三.写入mysql数据库 四.附录 一.定位表格查找元素 首先 ...

  6. python pyqt6 QMenu 设定圆角边框

    本来这个没有必要写,但是因为写的过程中,按照网上的写法运行,不知道为什么QMenu的右下角有圆角边框与直角背景颜色会覆盖显示 所以还是有必要写一下 menu = QMenu(self.tool_but ...

  7. 如何发布一个Vue组件到Npm上?

    前端时间做了一个基于Vue的拼图验证组件,因为公司需要,就想着做完之后放到Npm上,方便使用 发布流程如下: 1. 创建一个Npm账号并进行邮箱确认(很重要) 2. 创建一个文件夹,然后 npm in ...

  8. mac M1,M2,M3芯片踩坑 nodejs ruby brew

    问题&解决方法 先说解决方法, 感兴趣的可以了解事情的经过, 也许我描述的问题不专业, 但确实解决了当下的问题, 欢迎留言讨论 这里主要是两个问题, 一个是启用rosetta模式失败, 一个是 ...

  9. トヨタ自動車プログラミングコンテスト2024#7(ABC 362)

    非常好名次,使我的 \(1\) 旋转 四发罚时应该是这次比赛最唐的东西了,没有就进前一千了 A.Buy a Pen 特判秒了,懒得打三种 ans=,所以就把不能选的那个赋值成无穷大了 #include ...

  10. Android内存分析命令

    一.内存指标 Item 全称 含义 等价 USS Unique Set Size 物理内存 进程独占的内存 PSS Proportional Set Size 物理内存 PSS= USS+ 按比例包含 ...