致远啊 发表于 2021-9-17 18:46

java从0开始学习笔记及路线

## 序言

简单的介绍下自己,一名在校大三菜鸟

你们可以看下我主页,在*2020-12-29*发过[ 用python爬取jk小姐姐照片慢慢看](https://www.52pojie.cn/thread-1340115-1-1.html)帖子,当时的我有多么菜,刚会用python获取网页信息,就迫不及待的想表现以下,整文没什么亮点,最后还没写完整,只获取了图片地址,没保存到本地功能。

**学java一定不能急于求成**,不能像我一样还不会python基础,直接就去干python爬虫。java一定要往后学,因为每当你学完一种技术,以后你写项目了,就会多一种思路!

举个例子,大一的时候,爱用易语言写一些机器人插件,我只知道数据库概念,但没学,于是自己写了个小功能用txt当做mysql储存一些信息,后边等学校讲到了数据库,就知道了数据库的强大。

话不多说,学习java有一段时间了,以下是我目前学习过程,希望能帮助到那些开始学java,和刚入学即将学java的同学们

## JavaSE基础阶段

学校里讲课一般都用的 Eclipse(免费),但我建议使用 **IDEA**(虽收费,但百度教程一大堆,你们懂的)

工具没有好坏,自己用的顺手就行,但后边的教程使用的工具是IDEA,用eclipse的同学配置一些东西就可能比较麻烦

> 首先是javase阶段

我看的是黑马程序员的教程,资源(百度网盘)是在本论坛找的,虽然老师讲可以,但是里面只有视频,没有笔记和资料,我推荐你们去bilibili看。

在b站搜下java就有很多教程,尚硅谷、动力字节、韩顺平、黑马,根据自己的学习习惯选择一个看即可

记住,**不能急于求成**!像“7天零基础精通java”这种标题的视频,就直接pass,根本不可能。

- **良好的学习习惯很重要**

SE阶段学的东西挺多的,建议你们一点要**记笔记**

笔记软件有很多良心软件,例如:语雀、有道笔记、typora

我推荐你们用 **markdown**(不懂的百度)语法写笔记,其中语雀和typora都支持

原因:因为**大多平台都支持markdown**,以后你们把笔记放到自己博客,或者某些平台(CSDN),直接复制过去就行,就不需要再调整格式了。(我比较喜欢用typora,**关于如何免费搭建博客下面有提到**,请耐心看)

然后我按照狂神笔记(**狂神课堂全部笔记我放到了最下面**,不过是pdf格式)复习了一些内容。

按照狂神笔记整理的md笔记在线预览地址:(https://oddfar.github.io/notes/java/)

当你们学完javaSE阶段,在学校里一般就是学完你们上课用的书,就进入了web阶段

## JavaWEB阶段

> 前端阶段

进入到网页开发阶段,首先前端三个基本技能:html+css+JavaScript,必学的,你可以不熟练,但必须要学

可以看狂神的,快速入门(其实入门就够学校里日常使用了,毕竟我们要主攻后端)

- html:<https://www.bilibili.com/video/BV1x4411V75C>

- css:<https://www.bilibili.com/video/BV1x4411V75C>

- JavaScript:<https://www.bilibili.com/video/BV1JJ41177di>



> mysql



- 基础

我看的是狂神的,虽然讲的是基础,但入门是够了,后边需要学一些mysql高级教程

**狂神:**<https://www.bilibili.com/video/BV1NJ411J79W>



- 高级

这个不着急学,因为涉及到linux,需要把linux学了再学这个,这里只是先提一下概念。

内容有mysql索引介绍和使用,sql语句优化,缓存、内存管理,并发参数,日志,常用工具,主从复制......

**黑马**:<https://www.bilibili.com/video/BV1UQ4y1P7Xr>

我同学看的是诸葛的,听他说也挺不错,这两个你们自己选择吧。

**诸葛:**<https://www.bilibili.com/video/BV1xh411Z79d>





> JavaWeb

我看的狂神的,你们看他的就可以了:<https://www.bilibili.com/video/BV12J411M7Sj>

因为其他视频所需要的依赖大多是需要自己导入jar包,狂神的用maven,比较方便

里面的 JSP 技术现在已经不用了,不需要过多费精力学,不过建议还是要过一遍的。

笔记预览:<https://oddfar.github.io/notes/javaweb/>



## 框架阶段

> ssm框架

ssm就是:spring、springmvc、mybatis框架

一句话简单的说,用了框架写代码直接起飞,很方便!

按照狂神的顺序学,快速入门一下

- mybatis:https://www.bilibili.com/video/BV1NE411Q7Nx
- spring5:https://www.bilibili.com/video/BV1WE411d7Dv

- springmvc:https://www.bilibili.com/video/BV1aE41167Tu



mybatis笔记:<https://oddfar.github.io/notes/mybatis/study-note/>

因为我最开始学习,并没有记笔记的习惯,后边就只整理了mybatis的。

Spring,Spring Boot, Spring Cloud 等一些笔记,现在所学尚浅,且没时间整理,后续可能会极大的丰富这个系列的笔记



> springboot框架

其实我大多视频都是看的狂神的。

springboot还是建议你们看下 尚硅谷 的:<https://www.bilibili.com/video/BV19K4y1L7MT>

狂神讲到翻源码那块,很模糊,我同学一开始是看的狂神的,看了一半去看尚硅谷的了,说雷神翻源码那块讲的挺易懂的

> springcloud框架

没什么好说的,看尚硅谷的就行,狂神讲的不全

尚硅谷:<https://www.bilibili.com/video/BV18E411x7eT>

> mybatis-plus

狂神的即可:<https://www.bilibili.com/video/BV17E411N7KN>

学完直接起飞,sql语句都不用你写了(复杂的sql还需要自己写),非常方便!

笔记:<https://oddfar.github.io/notes/mybatis-plus/study-note/>

> JUC 和 JVM

JUC我看的狂神的:<https://www.bilibili.com/video/BV1B7411L7tE>

JVM我还只是扫了一眼,准备看尚硅谷的。



**学完linux就可以学mysql高级教程**

> linux

linux的使用看狂神入门就行:<https://www.bilibili.com/video/BV187411y7hF>

> git

尚硅谷的,直接好评,讲的特别全:<https://www.bilibili.com/video/BV1vy4y1s7k6>

因为给的文档很全,就写了一点笔记:<https://oddfar.github.io/notes/git/>

> nosql 方面

elasticserch:<https://www.bilibili.com/video/BV17a4y1x7zq>

redis:<https://www.bilibili.com/video/BV1S54y1R7SB>

这两先看狂神的入门就行,笔记我也写了,浏览找下就行!

> 中间件

消息中间件有很多,建议先学一个RabbitMQ就行,其他的看自己需求再来学

视频:<https://www.bilibili.com/video/BV1cb4y1o7zz>

笔记:<https://oddfar.github.io/notes/rabbitmq/>



## 项目开发

我学的是尚硅谷的商医通项目,因为为了快速入门,所以就找了个时间较少的(40多小时)

学完之后,怎么说呢,内容有点混乱,适合快速了解前后端开发流程。

因为我在校所学专业是.net方向,且自学java时间较晚,时间不太充裕,于是就选择了这个项目。

如果时间充裕的话先学下尚筹网,**根据自身情况来学习!**

>尚筹网项目 --> 在线教育项目 --> 谷粒商城项目 --> 尚医通项目 --> 尚融宝项目

视频bilibili搜就行

Gitee 有一套后台快速开发框架:https://gitee.com/stylefeng/guns

springboot单体版本开源,前后端分离版本收费。

前台用的layui,适合快速写一套后台管理系统。

我用这个快速开发了个“网课”提交系统,由于接了个活,是私人定制的,以后有机会了就开源!

你们可以了解下,希望能帮到你们

## 工具部署方面

> Docker

Docker 入门:<https://www.bilibili.com/video/BV1og4y1q7M4>

Docker进阶:<https://www.bilibili.com/video/BV1kv411q7Qc>

也没什么可说的,过一遍

笔记:<https://oddfar.github.io/notes/docker/>

> Jenkins



推荐大家学一下,因为等项目开发阶段,编写前后端分离项目时,可以和同学合作

大三实训课,授课内容是新闻发布系统,但是我所在专业教的是asp,我觉得用特别特别老技术,就像是“故步自封”,但由于网上asp教程不好找,后来就去学java了。

这个授课项目和同学分组一起写,他负责前端(vue),我负责后端(springboot单体项目,微服务项目服务器配置不支持,且升级成本过高,所以不考虑)。

因为是多人合作开发,需要我后端写完并发布到服务器上,他前端才能进行编写及测试。

测试功能,需要手动打成 jar 包,然后部署到服务器,这些重复工作大大的消耗了时间。

如果每次都这样配合前端,还不如我直接自己一人全栈开发省事呢。

于是就用到了 Jenkins ,配置好后,只需要提交代码到 Gitee ,就可以自动构建部署上线,不需要之前的手动重复操作。

因为只是用这个功能,看这篇文章就行:[从零开始用Jenkins自动构建部署SpringBoot项目](https://blog.csdn.net/A_zhiyuan/article/details/120328816)

## 补充

- 数据结构

韩顺平讲的就可以,这门课大学里都会讲,建议边学边去力扣上刷刷题。

- 计算机网络基础

这门课也需要学学,没看过视频,听的学校里讲的,先不做推荐。

## 博客

> 免费博客

- hexo + github 搭建博客
- vuepress + github 搭建博客

这两教程网上很多,自行搜一下就行

> 需要服务器

有能力的可以买个服务器自己搭建(学生机一年90左右),搭建个宝塔。

有几个开源博客挺好用的(WordPress,typecho等等)



## 结尾

学习java一定不用急于求成,一步一步来,上面是我的学习路径,希望能帮到你们。

有什么不足的地方,请各界大佬补充一下。

> 狂神笔记:

链接:<https://pan.baidu.com/s/123Oye5xZYfindbCCiIvG2w>
提取码:zvdg

> 我的笔记

在线预览:<https://oddfar.github.io/notes/>

GitHub:<https://github.com/oddfar/notes>

Gitee:<https://gitee.com/oddfar/notes>

笔记md文具在仓库里,有需要的自行下载。笔记网站搭建方式也写到了上面!

本人学识尚浅,笔记内容难免有错,有错地方请各位大佬斧正,尽情批评!

笔记都是自己一点一点整理出来的,整理不易,无私分享大家,请多多支持!希望可以给我点个star,满足一下虚荣心!

GeneralXK 发表于 2021-9-17 18:52

楼主牛啊{:301_993:}

biaolin123 发表于 2021-9-17 18:53

感谢分享 学习下

anwen 发表于 2021-9-17 18:57

:lol 楼主这是自学了多久..

致远啊 发表于 2021-9-17 19:25

anwen 发表于 2021-9-17 18:57
楼主这是自学了多久..

我从今年年初从0开始学的,我太菜了,自觉性不强,再加上我在校所学专业是.net方向,所以大部分java是在假期学的,学的挺慢的。

anwen 发表于 2021-9-17 19:27

挺快了 都学到框架了 哈哈{:301_978:}

cherrypi 发表于 2021-9-17 19:52

感谢分享,学习了。

QingYi. 发表于 2021-9-17 19:53

惭愧,本来是想用java吃饭的吧,又去搞算法,几个月算法之后,又去搞py,搞了py之后,c/c++ golang Android arm 等逆.向.渗.透的都学过来了

致远啊 发表于 2021-9-17 20:07

QingYi. 发表于 2021-9-17 19:53
惭愧,本来是想用java吃饭的吧,又去搞算法,几个月算法之后,又去搞py,搞了py之后,c/c++ golang Android arm...

我一开始也是搞这个搞那个,后边意识到不行,学校课程保证不挂科就行,其余精力就来学java

nur11111 发表于 2021-9-17 20:27

支持楼主
写的不错,可以参考
页: [1] 2 3 4 5
查看完整版本: java从0开始学习笔记及路线