Java学习路线一条龙
Java 要掌握的技术点如下:
- JavaSE(Java Standard Edition,Java 基础)
- 计算机基础和网络
- 并发编程
- 常见数据结构和算法
- MySQL 数据库
- Spring 全家桶(Spring/Spring MVC/Spring Boot)
- MyBatis/MyBatis Plus
- Java 虚拟机(JVM)
- Redis 中间件
- 消息队列
- Spring Cloud 体系(社招 1-3 年工作经验需要学习)
接下来我们来看下这些模块中的重点内容是什么,以及如何学习这些知识点?
1.JavaSE
JavaSE 是整个 Java 语言的开端和基础,JavaSE 中的重点知识如下图所示:
学习资料
- 视频学习资料:https://www.bilibili.com/video/BV1Cv411372m
- 图文学习资料:https://www.nowcoder.com/tutorial/10001/5fc0c07cd9d44e66b3baafd76f1f5b9f
注意:视频学习资料和图文学习资料中的知识点都是相同的,同学根据自己的喜欢选择一种或多种搭配学习即可。比如你有一点 Java 基础,那么可以选择图文资料学习即可,因为图文学习效率更高。
2.计算机基础和网络
作为 Java 程序员计算机基础和网络也是需要掌握的,但不需要掌握的太深,因为 Java 不会直接和操作系统打交道,但如果不理解计算机基础和网络是搞不清楚程序执行的一些底层原理和细节的,尤其对于校招来说,计算机网络是必问的几大模块之一,而且问的也很细。计算机基础和网络中需要掌握的知识有以下三大块:
2.1 计算机操作系统(核心)
计算机操作系统(核心部分)需要掌握基础的概念和运作流程即可,核心知识点如下图所示:
学习资料
- 图文学习资料:https://mp.weixin.qq.com/s/G9ZqwEMxjrG5LbgYwM5ACQ
2.2 计算机网络(重要)
计算机网络需要掌握的知识点相对来说比较多,在校招和社招中也是必问的面试点,它的主要内容有以下这些:
学习资料
- 图文学习资料:https://mp.weixin.qq.com/s/7EddtzpwIRvYfw34QE4zvw
2.3 Linux
Linux 只需要掌握基础的概念和常用操作命令即可。
学习资料
- 图文学习资料:https://pdai.tech/md/devops/linux/linux.html
3.并发编程
并发编程属于 Java 程序员必须掌握的核心知识,它的知识点也比较多,如下图所示:
学习资料
- 视频学习资料:https://www.bilibili.com/video/BV16J411h7Rd
- 图文学习资料:https://juejin.cn/column/6961569911638327310
4.常见数据结构和算法
校招常见的数据结构和算法考的比较多,并且在笔试中必须要过算法题才能通过考核进入到面试阶段,所以平日中刷算法属于必做的事情之一。但刷算法也要讲解策略和效率,如果想要快速提升算法能力以及笔试通过率,一定要去刷牛客《面试必刷 TOP 101》:https://www.nowcoder.com/exam/oj
学习资料
- 数据结构视频学习资料:https://www.bilibili.com/video/BV1Kb41127fT
- 数据结构和算法视频学习资料:https://www.bilibili.com/video/BV1E4411H73v/
刷算法心得
- 学习算法的关键是练习,就像学习游泳必须要下水一样,学习算法的关键就是多刷题,刷题的平台有牛客、赛码和力扣,给自己订个小目标每天坚持刷 5 道题。
- 刷题是学习编程中最难的环节了,并且这个环节只能靠自己一点点刷题才行,但在刷题时,一定不要死磕!一定不要死磕!一定不要死磕!在做一道题时,如果 2-5 分钟没有思路,直接去看题解就好,看完题解之后还不懂就去看代码的实现,再不懂就跟着代码一步步敲,要知道,刷算法不懂是常态。如果写了几遍代码看了几遍题解还是理解不了,没关系,不要纠结、不要懊悔,把它记录下来,继续刷下一道算法即可,等过段时间再回过头来看这道题。
5.MySQL
后端开发由两大部分组成:程序 + 数据库。
而数据库中最流行的莫过于 MySQL 了,所以 MySQL 也是程序员必须掌握的核心知识,它的核心知识点如下图所示:
学习资料
- 视频学习资料:https://www.bilibili.com/video/BV1Kr4y1i7ru/
- 图文学习资料:https://www.javacn.site/mysql/
6.Spring 全家桶
校招不要求会 Spring Cloud 技术栈,所以这里的 Spring 全家桶是指:Spring + Spring Web(Spring MVC) + Spring Boot。
Java 程序员也可以称之为 Spring 程序员,因为几乎所有的项目都是 Spring/Spring Boot 类型的项目,它的核心知识点如下图所示:
学习资料
- 视频学习资料:https://www.bilibili.com/video/BV1WZ4y1P7Bp/
- 面试题推荐:https://www.javacn.site/spring/
7.MyBatis/MyBatis Plus
MyBatis 是用来操作数据库的,它在国内非常流行,几乎所有的 Java 公司都在用,而 MyBatis Plus 是对 MyBatis 框架的增强和补充,让 MyBatis 用起来更简单。
学习资料
- MyBatis 视频学习资料:https://www.bilibili.com/video/BV1VP4y1c7j7/
- Mybatis Plus 视频学习资料:https://www.bilibili.com/video/BV1VP4y1c7j7/
8.Java 虚拟机(JVM)
JVM 是校招和社招中必问的知识点,因为所有 Java 程序都是运行在 JVM 上的,它的核心知识点如下:
学习资料
- 视频学习资料:https://www.bilibili.com/video/BV1PJ411n7xZ
- 书籍推荐:《深入理解Java虚拟机》第三版
- 面试题学习资料:https://www.javacn.site/jvm/
9.Redis
Redis 是企业中用的最多的中间件,没有之一,它被广泛用于缓存存储、会话保存等场景,它的核心知识点如下:
学习资料
- 视频学习资料:https://www.bilibili.com/video/BV1cr4y1671t/
- 面试学习资料:https://www.javacn.site/redis/
10.消息队列
消息队列可用于消峰、解耦和异步处理,几乎每个公司都有用,目前市面上比较主流的 MQ 框架有:
- Kafka
- RabbitMQ
- RocketMQ
当然,对于开发者来说,上面的 MQ 框架只需要掌握一个即可(它们的功能和使用都是类似的),以 Kafka 为例,它的重点内容如下:
学习资料
- Kafka 视频学习资料:https://www.bilibili.com/video/BV1vr4y1677k
11.Spring Cloud
Spring Cloud 不是一个具体的技术,而是一套技术规范,是若干个框架的集合,提供了全套的分布式系统解决方案。针对与 Spring Cloud 的技术实现目前比较流行的实现框架有以下几个:
其中在国内用的比较多的是 Spring Cloud Alibaba,它的技术栈包括:
- Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
- Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
- Seata:是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。
- RocketMQ:开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
学习资料
- Spring 官方学习资料:https://spring.io/projects/spring-cloud
- Nacos 官方学习资料:https://nacos.io/zh-cn/docs/quick-start.html
- Sentinel 官方学习资料:https://sentinelguard.io/zh-cn/
- Seata 官方学习资料:http://seata.io/zh-cn/
- RocketMQ 官方学习资料:https://rocketmq.apache.org/zh/
文章转载自公众号:Java中文社群