目录
请务必阅读
21年在CSDN发了一篇Java的自学路线,看着收藏数每日增长说明还是有许多跟我当初自学Java一样迷茫的人,找不到自己应该学什么。那篇文章现在看来有些太过敷衍,所以今天详细说一说
先不着急上来就巴拉巴拉一大堆知识点,我倒是希望你认真看一看下面这几段话
你真的打算好学习Java了嘛?如果你是计算机零基础的同学,以下的内容可能要学一年或者更多,而且一旦确定好了方向,随着越学越深,想要再改其它语言可不是一件容易的事儿。
下面的路线我不会详细到每个阶段所需要的知识点,因为我觉得因为偶尔漏掉一些知识点也是好事,回头查缺补漏的时候,还能巩固了基础,而且在学习的过程,无论你是看书学习,亦或是看视频学习,老师都会给你讲解每个阶段应该学的知识点,我再说就显得我婆婆妈妈的了
我最开始学的时候完全是在网上找视频学,现在回到书上了,因为感觉视频效率低,也不方便记录知识点。当时还在劝别人也跟我一样找视频学,现在想想完全是坑人
关于报班这件事,经常在网上听见一些前辈说“我们这代人真的是赶上了一个好时候,想自学技术,去网上找就会有铺天盖地的知识”。这句话无可厚非,随着时代潮流来的还有各种考验,竞争激烈。教育机构就是抓住这一点来当噱头,报名费对于已经赚钱的人来说可能是几个月的工资而已,但是对于大学生来说就是可能贷款之类的代价。我也不对报班这件事做过多引向,总之我要说一句:“大学生请注意甄别教育机构的质量!!!不要随意的报班,自学完全可以支撑到让你找一个好工作!!!”
下面的不光是写给你们的,也是写给自己的,我完全是按照自己的学习路线来写的,我只在文章中简述了需要学习的知识方向,每个知识的具体作用,还需要同学自行百度哦,因为知识都是连成片的,你在百度的同时还会有其他的收获 (σ`・ω・′)σ
阶段一
操作系统 -> JavaSE -> IO -> 多线程 -> JVM -> MySQL -> JDBC
操作系统:操作系统为啥放在第一个了呢,因为我了解到,有好多人自学Java不是计算机专业的同学,先学习操作系统至少可以对计算机有点初步的了解(有天一个人打电话给我,学长粘贴怎么做,我说你按鼠标右键,有没有一个paste按钮,你点它)
JVM:JVM它决定了Java怎么运作,怎么把英文变成CPU认识的 1跟 0 的,JVM有难度可以跳过,等觉得自己可以回来学了,再回来学JVM
MySQL:数据库了,再高级的程序员也是在与数据库打交道,重中之重,重中之重,重中之重
JDBC:不同数据库厂家对Java连接数据库做了统一的规范,我们不用担心不同数据库之间会需要额外多学习技术了
阶段二
HTML -> CSS -> JavaScript -> Ajax -> jQuery -> VUE -> 项目
“为啥后端要学前端啊,听说现在不都是前后端分离了吗,各干各的?”
做个比喻回答你:你造出来一辆车,你需要自己验证一下,这辆车能不能正常上路,所以你得自己开车上路做测试。而身为后端的你,就是造车的,你得自己先验证一下你写的代码能不能正常跑通,再发给前端
对于互联网系统结构来说,常见的有两种:第一种是CS结构,第二种是BS结构。BS结构是目前的主流。所谓的BS其实就是:Browser / Server,浏览器访问服务器的形式。
浏览器B端的就是web前端,在浏览器上运行的语言包括:HTML、CSS、JavaScript【JS最重要】
阶段三
计算机网络 -> Javaweb -> Maven -> Git -> Spring -> Mybatis -> SpringMVC -> SpringBoot -> Redis -> Nginx -> 项目 -> 设计模式
到了重中之重的地方了,这块学的好坏将会决定你能否工作了,重量级不言而喻
BS结构,我们主要进行的是S端,S端是Server端(服务器端),服务器端可以是C语言,可以是PHP,当然也可以是Java。目前Java居多,占大部分!先学习Servlet,再学习JSP。JSP不爱学可以跳过,已经淘汰的技术了
在我看来阶段三学习完,算是入门Java了
阶段四
Linux -> Docker
这块虽然少,但是知识点可不少,学习Linux会让你了解到计算机到底是个啥
阶段五
微服务、消息队列、分布式
我目前学习到这里,上面的阶段一到阶段四都是Java程序员所必须学的东西,固定死的东西,殊途同归每个人都是这么学过来的,但是在阶段五这块,有些小公司可能涉及不到这个领域。阶段五是涉及到高访问量(直白点:淘宝双十一那样的场景)所设计代码的技术,技术太多了,也不好罗列,等我成长了再一一补充吧
我目前所了解的技术:
Eureka、OpenFeign、GateWay、Nacos、消息队列、Sentinel、ElasticSearch、……minIO、……、service mesh
结束语
好了就到这里了,有问题及时留言,我好及时改正
附上Java常见面试题,我还在更新的!
Java后端开发常见知识总结 · 语雀JavaSEJava基本数据类型大小一个字节等于8位 ...https://www.yuque.com/docs/share/d1c56b8d-3c65-419b-988c-257a0dc91bd3?#