【最新版】Java学习路线(含B站口碑推荐视频链接)

本文提供了一条完整的Java学习路线,适用于校招求职者,涵盖算法、计算机基础、Java基础知识、框架、微服务等多个方面。强调算法的重要性,并推荐了B站上的优质视频资源,包括王道考研、尚硅谷、黑马程序员、韩顺平等UP主的教程,内容覆盖计算机网络、数据结构、操作系统、JVM、数据库、设计模式、微服务等。同时,还提供了面试技巧和简历优化的指导。
摘要由CSDN通过智能技术生成

关于如何自学

不过总体来说,我认为对于校招求职者(举Java方向为例),整体上需要准备如下几部分的内容:

  • 算法:校招第一关就是笔试算法题,笔试通不过,后面的多轮技术面试也就无从谈起。算法这部分,我觉得没啥好的学习方法,就是要多刷题(LeetCode、AcWing、牛客网等等),反复刷题。题量上去了,解题思路也更多了。

    • 可能有些小伙伴认为,算法跟技术栈相比,校招找工作肯定优先考虑技术栈广的,而且算法学习成本高,不如技术栈性价比高。这里我说下我自己的经历和看法,我校招投递的简历差不多200多家,面试也有将近100轮了,面了差不多40多家公司。实际情况就是,小公司不重视算法,笔试只是做一些填空、选择题,和一些简单的场景题,但是大公司,哪怕是一家小独角兽,他们的校招笔试内容也是包含算法题的。
    • 提高算法水平重在平时积累,我记得大一的时候,一个打ACM比赛的学长说过,如果从大一开始每天刷一道LeetCode,坚持到毕业,校招求职笔试的算法题根本不成问题!实际情况也确实如此,我们学院隔壁班一个打ACM的大佬,他今年秋招拿到字节GoLang后端岗位的意向书,他在参加校招笔试时,美团、字节等公司的笔试算法题基本上都是全A通过,这种题对他来说就是小CASE。
  • 计算机基础课:数据结构、操作系统、计算机网络,计算机组成原理(目前面试考察的地方少了,可以不作为主要内容),这几门课B站上有很多不错的教程资源,比如王道考研的操作系统/计算机网络、韩顺平老师的Java数据结构算法等。这部分内容网上有很多八股文面试题,可以去牛客网上找一些面经,或者去收集一些面试题总结一下。

  • Java基础知识

    这里说的Java基础知识不仅仅是JavaSE的语法知识,还有一些理论概念,比如面向对象三大特征、重载重写的区别、八大基本类型的取值范围、内部类匿名内部类静态内部类的区别等,这些Java基础概念方面的八股文,该背的背一下,该理解的理解一下。除了这种八股文概念,还有一些需要自己去钻研的内容,即JDK源码和JVM虚拟机两个部分。

    • JDK源码:JDK源码并不是所有的都是校招重点,也是有侧重方向的,比如最常问的HashMap、ArrayList、LinkedList等源码就是属于 java.util 包下的源码,除了 util 包,还需要去熟悉一下 java.current 包下的一些源码(即,我们常说的JUC源码),这部分源码需要重点了解一下锁(ReentrantLock、AQS、synchronized关键字等)、线程安全集合(ConcurrentHashMap等)、原子类(LongAdder、AtomicXXX,底层都是和CAS挂勾)、多线程相关的源码(比如ThreadLocal、Thread)等几部分。最后还需要看一下比较简单的 java.lang 包下的常见源码,例如 String/StringBuilder/StringBuffer、Object等。对于JDK源码学习,我暂时还没有发现完全成体系的网课,即使有也多数是付费课,所以建议以博客学习为主,也可以买一本相关书籍(《Java并发编程实战》),看书学习。
    • JVM虚拟机:JVM在校招中主要考察运行时数据区域、类加载机制、垃圾回收器、垃圾回收机制、回收算法、JMM内存模型等几部分。这里推荐入门学习的话去看黑马的网课入门,然后看书巩固复习(《深入理解Java虚拟机》)。
  • 数据库基础:这里说的数据库其实主要指MySQL数据库,校招主要考察点是索引原理、存储引擎、日志(8种常见日志的作用)、数据库事务、锁、隔离级别、SQL场景题编写等几部分。

  • 后端框架

    对于校招生来说,其实框架考察主要是SSM三大框架,也会问到一些SringBoot相关问题,以及少部微服务一站式解决方案。所以,这部分我建议分三个阶段去学习。

    • 入门阶段,可以在哔哩哔哩上找一些网课学一下(比如硅谷、黑马、编程不良人,狂神,百知等);
    • 应用阶段,可以在 GitHub/Gitee 上找一些综合案例来来练手(比如若依、ElAdmin、Mail、以及一些电商、博客项目),如果看开源项目吃力,也可以从视频网课入手(我之前看过觉得还不错的给大家推荐几个:小而美博客,Spring Boot聊天App,仿牛客论坛项目,还有硅谷的谷粒商城,传智的乐优商城、青橙商城,畅购商城,点餐小程序等),除了找开源大型项目和视频网课项目之外,也非常推荐距离校招还有足够长时间的小伙伴,尽量自己去动手做一个项目出来,从前端到后端,包括数据库,中间件自己搞一套整合应用,我相信收获也是颇丰的;(我认为,应用阶段不一定必须要做一个完整的项目案例出来,也可以是某个小功能,或者某个小模块。例如:秒杀抢购模块,SpringBoot整合微信/支付宝支付模块,SpringBoot + OSS/FastDFS 个人图床搭建,基于SpringBoot + Nginx + Thymleaf的页面静态化功能,动手实现一个低配的RPC框架等等,这些耗费时间少,也能提高熟练使用框架的能力)
    • 沉淀阶段,如果常用框架的使用非常熟悉了,自己也能动手搭建一个项目骨架出来。那么下面就可以试着深挖一下框架和中间件的原理。比如Java后端开发的灵魂 Spring 框架的核心模块(IOC、AOP、Bean加载等等)的实现原理。同样的,越是偏底层的东西学习来越难一些,这里推荐一本书:《Spring源码深度解析》,可以跟着书一步一步的去debug,去反复理解、吃透校招重点考察的几个模块即可。
    • 框架阶段的学习建议:不要过分依赖网课,不要快餐式学习,不到重复堆积技术栈的使用!要逐步学习,重视原理(我想应该很多人,甚至学完了SpringBoot,都不知道 Spring 框架底层不是基于 Maven 而是基于 Gradle 来管理依赖的吧?)

众所周知,B 站是一个神奇的网站,上面有各种各样的视频资源,可以说是包罗万象、应有尽有。很多人在上面跟着 UP 主上自习、考研、学编程,还真的能学有所成。

这其中的关键,就是如何筛选出真正优质的视频。这很难,不仅需要一双发现美的眼睛,还需要花时间去检验。当然了,要掌握这种能力,并不是一件容易的事。因为海量的信息意味着嘈杂、纷乱、烦恼,稍有不慎,就有可能被其吞噬,迷失了方向、浪费了时间,不仅没有学习到知识,甚至会误入歧途。下面是集B站好评如潮的视频于一身的完整Java学习路线以及地址链接。

一、计算机网络

1.计算机网络微课堂
https://www.bilibili.com/video/BV1c4411d7jb?p=1
讲师:湖科大教书匠
评价:通俗易懂,重点知识十分细致,配合实验,而且有考研408 的难题的讲解,也是非常适合考研党,除了课程内容外还有很多习题讲解视频。


2.王道计算机考研 计算机网络
https://www.bilibili.com/video/BV19E411D78Q?p=1
UP:王道论坛
评价:小姐姐声音非常好听,百听不厌,内容与考研高度贴合,非常适合考研党和声音控


二、数据结构与算法

【郝斌】-数据结构入门
https://www.bilibili.com/video/BV11s41167h6?p=1
老师:郝斌
评价:思路是以初学者的思路来思考的,非常适合小白


【C语言描述】《数据结构和算法》(小甲鱼)

https://www.bilibili.com/video/BV1jW411K7yg?p=1
UP:鱼C-小甲鱼
评价:良心 up ,授课风格相比大学教授,语言风趣幽默,不死板,用例子带知识点,容易听得进去,亲和力拉满


【尚硅谷】Java 数据结构与 Java 算法(Java数据结构与算法)

目录 1.介绍............................................................................................................................................................3 2.基本概念....................................................................................................................................................3 3.报文传输....................................................................................................................................................6 3.1 帧类型..................................................................................................................................................6 3.1.1 数据帧...........................................................................................................................................6 3.1.2 远程帧...........................................................................................................................................9 3.1.3 错误帧.........................................................................................................................................10 3.1.4 过载帧......................................................................................................................................... 11 3.1.5 帧间空间..................................................................................................................................... 11 3.2 发送器/接收器的定义.........................................................................................................................12 4.报文校验..................................................................................................................................................12 5.编码..........................................................................................................................................................13 6.错误处理..................................................................................................................................................13 6.1 错误检测............................................................................................................................................13 6.2 错误标定............................................................................................................................................13 7.故障界定..................................................................................................................................................13 8.位定时要求..............................................................................................................................................15 9 增加CAN 振荡器容差...............................................................................................................................16 9.1 协议修改............................................................................................................................................17
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值