开启辅助访问
 找回密码
 立即注册

如何看待尚硅谷在B站发布的Java学习路线?

lozen 回答数0 浏览数763
作为 Java 领域的优质创作者(见下图),既然被邀请了,就必须认真答一波,免得后来的同学可能被误导


来看一下尚硅谷公开的这个 Java 视频学习路线,我划了三条红线,什么意思呢?


如果是奔着大厂去的,这条学习路线上,大厂只会考察 Java 基础、MySQL 和 Redis,至于 JDBC、Spring、MyBatis、Zookeeper、Dubbo 等等这些,可以肯定的是,面试几乎是不会问。
为啥我敢这么肯定?因为我前几天刚被某个学弟成功“骗”了一份面经贴。
看完这个面经贴你就明白了,尚硅谷公开的这个 Java 视频学习路线有多不靠谱!如果他没有标“大厂”我觉得到还好,毕竟都是工作中经常用到的一些框架和中间件,标了,就有问题了,因为大厂喜欢考察的重点永远是下面这些:


操作系统、计算机网络、数据结构与算法,这些肯定是要学的,还有 Java 的核心知识点,以及一些框架原理,否则根本就进不了大厂
学习计算机最好的方式,就是看网上的一些优质公开课(后面我会推荐),还有一些经典的计算机书籍。
建议大家看看我这幅思维导图,帮学弟拿到过携程的实习 offer:



图片参考自 hollis 的成神之路

至于 Java 的学习路线嘛,完全可以看看我整理的这份,自认为更靠谱一些(虽然点赞数只有 400+,但收藏数已经悄悄地来到了 5109 次)
(学弟学妹们,求求你们了,觉得不错的话,不要只收藏嘛,点个赞也是可以的)
不过,尚硅谷肯把自个的教程和视频在 B 站上发布出来,也是一件非常值得鼓励的事,毕竟对于初学者来说,或是需要一些视频作为入门教程的。我们只需要把眼镜擦亮,“取精华去糟粕”就行了。
人生是一件特别奇妙的事儿。在我开始在 B 站上刷 Java 视频之前,工作上虽然非常努力,但业余时间基本上算是虚度了,除了打游戏就是无所事事。这样的日子让我对生活充满了怨气,完全丧失了前进的自驱力!
去年的这个时候,我开始在 B 站上关注一些优秀的 Java 方向的 UP 主,然后情况就发生了翻天覆地的变化。以前习惯于收人鞭策才能前进,目前完全戒了这个瘾。
不隐瞒了,曝光下 B 站上我最喜欢的一位小姐姐。


之前推荐的时候,还收到了小姐姐的留言。


芜湖,简直了,当时激动损坏!
可惜,小姐姐已经有男票了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
(这不是标点符号,是我的狗眼里流下的泪)
如果你真的想在 B 站上学 Java,可以按照我的这个思维导图来。


1)入门篇
我推荐尚硅谷的 Java 零基础教程,这套视频的播放量或是挺大的,很受广大群众的喜爱。尤其是宋老师很可爱地说出自个是“英俊潇洒”的时候,我就被这个胖嘟嘟的男人征服了。这让我不由得想起脱口秀演员杨笠的一句话:“你那么普通,为啥就那么自信呢?”


好家伙,这视频足足 715 个小节,我滴妈呀,请至少 1.25 倍速食用!我是用 1.5 倍速过了一遍,感觉或是非常适合初学者的。
https://www.bilibili.com/video/BV1Kb411W75N
翁恺教授的 C 语言课程我在之前推荐过,后来又看了他的 Java 课程,感觉真的不愧是教授,讲课就是舒服,不是那种高高在上的感觉,很接地气。


https://www.bilibili.com/video/BV1DJ411B7cG
2)工具篇
掌握了下面这些工具,学习起来也会更加顺手,不用瞎折腾。Intellij IDEA,不用说,是编写 Java 程序的最佳 IDE,必须得掌握。


讲师仍然是宋宏康,“废话”讲得很幽默,我记得他在视频中把 IDEA 比喻成媳妇,比如成苹果手机,差点笑到岔气。老师,求生欲真的太强了。
https://www.bilibili.com/video/BV1PW411X75p
接下来是 Maven,可以帮助我们解决 jar 包的烦恼。UP 主仍然是尚硅谷这家培训机构!不得不承认啊,这家培训机构还挺有眼光的,很早把这种录制的视频免费地放了出来,迅速地就占领了视频领域的市场。


这样做技能扩大影响力,还能鉴定教学的水准,服!
https://www.bilibili.com/video/BV1TW411g7hP
然后是 Git,工作中也是必须掌握的。UP 主是遇见狂神说,我个人觉得非常好的一台 UP 主,有人说狂神开始收费割韭菜了,但 B 站上的这些视频或是可以白嫖嘛。


https://www.bilibili.com/video/BV1FE411P7B3
3)数据库篇
学习一门编程语言,如果不去操作下数据,就感觉这门编程语言空有皮囊却没有灵魂,对吧?要想学好数据,首先要学习一下 SQL,我推荐一台老外的视频课(中字版啦),内容制作得非常棒,所以完全不用担心听不懂。


国外的视频有一点我必须得强调一下,就是整个画面制作得非常舒适,观感非常好。
https://www.bilibili.com/video/BV1UE41147KC
然后再学习一下市场占有率非常高的 MySQL,视频我推荐尚硅谷的,女老师讲的。不得不承认,老师讲得很精彩,嗯,弹幕里也很精彩。


这个视频是从尚硅谷官网搬运过来的,但弹幕非常多,很有意思。
https://www.bilibili.com/video/BV12b411K7Zu
当然了,也可以看下面这个英文中字版的,3 个小时就能学完。


视频本身的质量很高,但有点瑕疵就是中文字幕出现的位置有点问题,导致看起来并不那么舒服。推荐给英文功底比较好,或者想提升一下英语功底的小伙伴看一下。
https://www.bilibili.com/video/BV1iJ411m7Fj
目前大多数公司的存储都是 MySQL + Redis,MySQL 作为主要的存储方式,Redis 作为缓存,用来加快热点数据的读写速度,从而提高性能。所以学完 MySQL,可以趁热打铁学一下 Redis,也可以放到后面学。


视频同样是狂神说的,语速很快,感觉像是自动倍速到 1.5 倍一样,太优秀了。
https://www.bilibili.com/video/BV1S54y1R7SB
4)框架篇
首先是 SSM(Spring+SpringMVC+MyBatis,企业级应用的必须品)的整合教程,为后面学习 Spring Boot 打下基础。
学完 SSM,自然就少不了要学 SpringBoot,推荐狂神说的 Spring Boot 吧,我也很喜欢,播放量也挺大。


https://www.bilibili.com/video/BV1PE411i7CV
最后是 SpringCloud,狂神说这也有。


Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。
https://www.bilibili.com/video/BV1jJ411S7xr
5)JVM 篇
JVM 是相对难吃透的一台环节,但却十分的重要,我把它放到框架篇后面,就是希望大家能在储备了大量的实战经验后再来深入的理解 Java 虚拟机。尚硅谷的这套视频课程分为《内存与垃圾回收篇》《字节码与类的加载篇》《性能监控与调优篇》三个篇章,如果你能顺利学完的话,可以说 Java 虚拟机方面已经是有点小心得了。


JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需要生成在 Java 虚拟机上能运行的目标代码,也就是字节码,就可以实现跨平台的诉求了。JVM 学得通透的话,可以说是非常牛逼的程序员了。
https://www.bilibili.com/video/av83622425
6)源码篇
面试的时候,面试官都特别喜欢问一些源码方面的知识,比如说 HashMap 的一些经典问题,加载因子为啥是 0.75?哈希冲突的时候,HashMap 是如何查找并确认元素的等等,这些问题只有通过源码才能得出比较准确的回答,对吧?
我有个同学说过一句话,给我的印象特别深刻,就是“有啥解决不了的?只要你肯阅读源码。”说起来源码,我是不太建议新手去阅读,容易劝退。不信,你让一台小学生去读一下《百年孤独》,我保证他会从此对阅读失去兴趣。等有了一些编程经验后,再去阅读源码,就会有很大的收获。


羊哥出过一台视频,详细地介绍了如何阅读 JDK 源码,推荐给大家。
https://www.bilibili.com/video/BV1V7411U78L
7) 算法与数据结构
无论什么时候,程序=数据结构+算法这种说法都是成立的。浙江大学的一台的课或是挺不错的(我推荐过很多次了),很系统很经典,适合小白入门。143 小节,每节课五六分钟,男女老师混合讲,不同的台风,学习起来也会轻松一些。


视频地址如下所示:
https://www.bilibili.com/video/BV1JW411i731
8)操作系统
为啥要学习操作系统呢?第一,面试要考;第二,无论学习哪门子编程语言,比如说 Java、C/C++,都需要和操作系统打交道,像 Java 中的多线程技术,其实是由操作系统来负责进程和线程管理的;第三,学习操作系统,还能学到内存分配方面的知识。
我推荐清华大学的《操作系统》课,虽然清华大学的校门进不去,清华大学的视频课或是可以白嫖的嘛。一共 98 小节,每节课差不多 15 分钟左右。


B站上的视频已经下架了,可以到网易云课堂上看哦:
9)计算机组成原理
众所周知,计算机是由 CPU、内存、显示器这些设备组成的硬件,但我们大学毕业后,往往从事的是软件方面的开发工作。那怎样才能在硬件和软件之间自由穿梭呢?答案就是学好计算机组成原理。弄明白了计算机的组成原理,也就对整个软件开发有了一台系统的认知,不论是计算机的硬件原理,或是软件架构,都能很好的驾驭,随之而来的,我们的职业发展机会也就更多了。
如果想深入学习计算机组成原理的话,我推荐哈工大的这门视频课,整体评价非常高。一共 128 节,每节课差不多 10 分钟左右,建议 1.5 倍速食用。


视频地址如下所示:
https://www.bilibili.com/video/BV1WW411Q7PF
10)计算机网络
当今这个时代,没有网络简直无法生存,哪怕是在电梯里的一分钟,我都受不了那种手机没有网络的状态。我们所学的编程知识,如果脱离了网络,将变得毫无意义,因为没有哪个编程语言是要在单机环境下运行的。
计算机网络方面的视频我推荐湖科大教书匠的《计算机网络微课堂》,制作得非常用心,是一部不可多得的佳作。目前更新了 73 小节,每节 20 分钟左右,很适合在假期刷。


视频地址如下所示:
https://www.bilibili.com/video/BV1c4411d7jb
10)设计模式
我认为设计模式是初中级程序员迈向高级程序员的必经之路。有不少程序员,前期冲劲十足,但后继乏力,都是吃了设计模式的亏。在工作的前几年,大部分程序员都处于熟悉编程语言的阶段,也就是处于“技”的阶段,随后就要进入“术”的阶段了。在编程领域,“术”的典型代表就是“设计模式”。
视频推荐韩顺平老师的,面向 Java 程序员的。


这么说吧,设计模式玩得炉火纯青,写出的代码就更优雅,阅读起来也会更加舒服,可维护性、可扩展性就更强。
https://www.bilibili.com/video/av57936239
强调一下重点。
比如说计算机网络。

  • 七层结构,简单介绍一下每一层。
  • 输入 URL 后,将发生什么?这个问题会涉及到很大一部分的计算机网络基础。
  • HTTP 和 HTTPS,DNS 解析
  • TCP、UDP、拥塞控制、三次握手、四次挥手、滑动窗口
  • IP 和 ARP 协议
比如说操作系统。

  • 进程与线程简单介绍,区别,以及进程间通信方式,线程同步方式
  • 用户态和内核态
  • 内存管理:分页分段,虚拟内存,空闲地址管理方法
  • 死锁:死锁的必要条件,死锁的检测与恢复,死锁的预防,死锁的避免
比如说数据库系统。

  • 索引:B+ tree索引、哈希索引、全文索引、覆盖索引等
  • 存储引擎简单介绍,如 InnoDB, MyISAM
  • 主从复制
  • 事务特性简单介绍
比如说数据结构与算法。算法研究的目的是为了更有效的处理数据,提高数据运算的效率,数据运算是定义在数据结构上的,各大公司的笔试基本都考这个。如果你想拿到更多的 offer,拿到更好的 offer,LeetCode 上的题要能刷个一百到三百道,有时间有精力的话,最好参加一下 ACM 竞赛,在找工作的时候会非常有优势
我简单列举一下要刷的重点题:

  • 树相关+链表
  • 二分+双指针
  • 回溯+递归
  • 动态规划
刷题没什么秘诀,先把剑指 Offer 刷一遍。题不在多,要把其中的思想学会,举一反三。
比如说并发编程、Java 虚拟机。

  • 并行和并发有什么区别?
  • 线程和进程的区别?
  • 守护线程是指什么?
  • 创建线程有哪几种方式?
  • 说一下 runnable 和 callable 有什么区别?
  • 线程有哪些状态?
  • sleep() 和 wAIt() 有什么区别?
  • notify()和 notifyAll()有什么区别?
  • 线程的 run()和 start()有什么区别?
  • 创建线程池有哪几种方式?
  • 线程池都有哪些状态?
  • 线程池中 submit()和 execute()方法有什么区别?
  • 在 java 程序中如何保证多线程的运行安全?
  • 多线程中 synchronized 锁升级的原理是指什么?
  • 什么是死锁?
  • 如何防止死锁?
  • ThreadLocal 是指什么?有哪些使用场景?
  • 说一下 synchronized 底层实现原理?
  • synchronized 和 volatile 的区别是指什么?
  • synchronized 和 Lock 有什么区别?
  • synchronized 和 ReentrantLock 区别是指什么?
  • 说一下 atomic 的原理?
  • Java 内存模型(JMM)、重排序与 happens-before 原则了解吗?
  • AQS了解么?原理?AQS 常用组件:Semaphore (信号量)、CountDownLatch (倒计时器) CyclicBarrier(循环栅栏)
  • ReentrantLock 、 ReentrantReadWriteLock
  • CAS 了解么?原理?
  • 说一下 JVM 的主要组成部分?及其作用?
  • 说一下 JVM 运行时数据区?
  • 什么是双亲委派模型?
  • 说一下类装载的执行过程?
  • 如何判断对象是否可以被回收?
  • 说一下 JVM 有哪些垃圾回收算法?
  • 说一下 JVM 有哪些垃圾回收器?
  • 详细介绍一下 CMS 垃圾回收器?
  • 新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?
  • 简述分代垃圾回收器是如何工作的?
  • 说一下 JVM 调优的工具?
  • 常用的 JVM 调优的参数都有哪些?
我是二哥 @沉默王二 ,记得点赞关注啦~
使用道具 举报
| 来自浙江 用Deepseek满血版问问看

相关问题更多>

快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影