现在互联网环境这么差,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. 【防忘笔记】Spring+Struts2古董框架学习

    Spring+Struts2项目框架梳理 若基于Spring+Struts2的方式进行开发,前后端的交互逻辑会与boot系以及MCV的组织结构有所不同 这里是对于学习过程的一些记录 前置通用知识 St ...

  2. zabbix4.0配置短信报警

    1.准备工作 #访问短信网址:172.16.98.1,网线插LAN口 #账号&密码:admin 安装ubuntu系统模拟http请求工具(命令行模式) # apt-get install ht ...

  3. 高维前缀和 (SOSDP)

    算法介绍--高维前缀和 引入 我们都知道二维前缀和有这么一个容斥的写法: for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ s[i][j]=s[i ...

  4. 【转】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 ...

  5. spark 先groupby 再从每个group里面选top n

    import spark.implicits._ val simpleData = Seq(("James","Sales","NY",90 ...

  6. Mybatis骚操作-通用查询工具类

    老项目大多都有对JDBC进行了封装,可以直接执行SQL的工具类,在做项目升级改造的时候(这里仅指整合mybatis),要么全部调整成dao-xml的形式(会有改动代码多的问题,而且看代码时需要xml和 ...

  7. OData – OData vs GraphQL

    GraphQL 很火, 很厉害, 但是它和 OData 有本质的区别. 所以并不是说任何一样对比另一个绝对的好. GraphQL is not OData twitter 的讨论 有几个点是我能 Ge ...

  8. 选择:Qt Creator、Qt Designer、Qt Design Studio,三种开发工具,您选择哪一种?

    前言 本文介绍了三种QT开发工具的特点,以及各自的优点和缺点. QT三种工具对比 QT提供的工具 Qt Creator: 扮演的是QT Widgets和QT QML的IDE的角色. 优点: 可以编写C ...

  9. ARM汇编: B、BL 与R14(LR)、R15(PC)

    1. b与bl指令的作用是什么? b与bl指令的作用:实现程序跳转,也就是调用子程序. 2. b与bl指令的区别是什么? b与bl指令的区别: b指令:简单的程序跳转,跳转到到目标标号处执行. bl指 ...

  10. 关于 B 先生

    B 先生是不是要疯了,他今天说的都是他妈什么几把