开启你的学习之旅(学习路线)
一、学习方法
- 下面知识点的讲解,基本都会配套笔记,可以在我的专栏中查看对应的知识点。
- 每个知识点的课程推荐都是我之前看过的视频,质量比较高才会推荐,但现在视频更新都比较快,大家可以在B站看更新、评论更好的视频。
- 平台选择:推荐黑马程序员还有尚硅谷。可以直接跟着平台的学习路线进行学习,但有些黑马讲得好,有些尚硅谷讲得好,每次学习一门新技术前先搜一下哪个平台的更好。
- 看视频前先看评论区,可以避免很多坑。遇到不会的看弹幕。
- 学习一定要记笔记。推荐使用TyporaTypora记笔记,直接在360下载或者在我上传的资源中查找,可以看下这篇博客:如何使用Typora记笔记?不要使用Word、Text文本。
- 学习编程一定要多敲代码。
二、JavaSE
- Java语言的基础,是Java的最基本的库,基础语法加常用库类。
- 必须掌握:变量与运算符、流程控制、数组、字符串、面向对象、异常、多线程、集合、常用类。
- 开发工具:推荐使用IDEA,eclipse也可以但是不太方便。
- 书籍推荐:《Java从入门到项目实战》——李兴华
- 推荐理由:知识点都有覆盖并且有案例讲解,书籍也相当于一本笔记,在不懂时可以快速查阅,但缺点还是比较明显,毕竟这本砖头书不可能时时带在身边。有些不懂的地方只能靠自己梳理明白,相比课程还是较为枯燥,所以还是更推荐视频学习。
- 课程推荐: 尚硅谷Java入门-宋红康
- 学习内容:入门看到580小节就可以了,顺便看下Lambda和stream流的使用,当然有时间最好还是全部看完,有些可能暂时或者很长一段时间用不上,但做个了解还是好的,并且知识点的讲解并不是完全独立的,后面有依赖前面,可以了解跟其他知识点是如何配合使用的。没有时间就看上面提到的必须掌握的部分即可,也够用了。
- 推荐理由:老师讲课很有趣、是非常好的一门入门课程,知识覆盖面较广且深,包括面试题、算法题、源码的讲解。
三、数据库
- MySQL(或者Oracle),软件最终都是操作数据,而数据存储在数据库当中,企业中,尤其是互联网公司大部分都是使用MySQL,有精力再学Oracle。其实语法相差还是不大的。
- 初学者一般只需要掌握基本的增删改查语法,一些关键字where、in、like等的使用。
- 开发工具:通过MySQL服务自带的命令行窗口:MySQL Command Line Client,或者是Navicate,不太推荐MySQL Workbench,界面复杂。
- 书籍推荐:《SQL必知必会》
- 推荐理由:只讲解SQL语法,而不是从枯燥乏味的原理讲起。对于初学者来说,学习SQL语法即可,并不需要掌握多么高深的理论。
- 课程推荐:MySQL入门到精通,推荐进阶阶段看。
- 推荐理由:讲解了面试阶段涉及的知识点,包括SQL优化、索引、存储引擎、锁。
四、JDBC
JDBC(Java DataBase Connectivity)是Java操作各种数据库而定义的一种规范,该规范是一种应用协议。数据库厂商根据这个规范来实现数据库,就可以让Java语言屏蔽数据库的不同,直接使用这个协议提供的接口进行数据的增删改查。更换数据库只需要更换驱动,更改一小部分的配置即可。
这部分不需要专门去学习,在学习JavaWeb时就有相应的讲解。
五、web前端
- 系统结构常见有两种,C/S 和B/S
- 浏览器B端就是web前端,在浏览器上运行的语言包括:HTML 、CSS 、JavaScript
- 作为一个Java程序员,还是需要掌握一部分前端方面的知识,比如上面提到的前端三剑客+进阶阶段的 Jquery(Javascript框架)+Ajax。当然不需要学习得很深入,同样也在JavaWeb学习过程中掌握即可。
六、JavaWeb
- 这部分知识在学习Java过程中都会接触到,但现在都是用SpringBoot进行项目开发。所以并不是很重要,有一两个项目练习即可,不要耗费太多时间。直接在JavaWeb实战过程中学习即可。
- BS结构,我们主要学习S端,S端就是Server端(服务器端),服务器端可以是Python语言,可以是PHP,当然也可以是Java,目前Java居多,占大部分。
- 一个Javaweb项目包括前端还有后端,后端我们采用Java语言,前端学习HTML、CSS、Javascript,这种方式属于前后端分离,当然在学习阶段只是概念上分离,开发还是不分离,前端页面可以独立于后端存在,有些课程是采用Thymeleaf进行前端页面渲染、JSP页面跟后端交互展示数据,这种属于前后端不分离,需要前后端一起开发,前端不能独立于后端存在。其中JSP是一门过时了的技术,不需要耗费时间精力去学了,不过维护项目还是有可能见到的。
七、JavaWeb实战项目
- 项目推荐:尚硅谷JavaWeb教程
- 技术栈:
- 前端: HTML+CSS+Javascript+jQuery+Ajax+Vue
- 后端:Servlet+Mysql+JDBC
八、Maven
- Maven主要作用是依赖管理还有项目构建,详情可看Maven的作用。
- Maven的下载与安装配置
- 课程推荐:尚硅谷Maven课程学习,Maven其实知道如何导入依赖坐标,跟构建项目就够了,学习一两个小时其实就够了。这门课20个小时,前5个小时应该就讲完了Maven的作用跟使用。后面主要是做一个JavaWeb项目,项目还是挺有趣的,用到了Thymeleaf技术,有需要的同学可以学一下。不过JavaWeb不需要耗费太多时间。
九、SSM三大框架
-
SSM是由Spring+SpringMVC+MyBatis三个技术组成的。学习上我觉得没什么顺序,学完JavaWeb项目后,我引入SpringMVC技术进行项目改造,其实这三个技术是独立开来的,并不是说用SpringMVC就一定要搭配上另外两个,所以当你学完了一个技术后就可以应用到之前的JavaWeb中,熟悉一下。其中Spring可以说是一门原理课,但这个原理贯穿了SSM以及后面的SpringBoot技术,学习起来比较吃力,不能急于求成,跟着教程多了解多动手练习即可。Spring课程就不推荐了,之前看的尚硅谷最高播放量的Spring课程感觉一般。
-
课程推荐:
- SpringMVC课程-尚硅谷
- Mybatis课程-尚硅谷
- Mybatis-Plus课程-尚硅谷
十、SSM实战项目
- 可以跳过此部分学习。
- 项目推荐:SSM框架整合-快速实现CRUD
- 网上的SSM项目还是比较少的,这个是我看到的着重于SSM框架整合的项目。但前端部分的讲解占了一半以上的时长,页面是用JSP写的,我改成Thymeleaf,后面会上传平台。
十一、SpringBoot
SpringBoot是对SSM框架的整合,可以简化SSM项目的配置,做到高效开发。SpringBoot有它本身的注解、使用方法,这些需要在SpringBoot的学习中掌握。
- 课程推荐:黑马SpringBoot全套课程
- 这个课程安排得非常合理,从SpringBoot项目创建到小项目的开发、各种技术的整合,运维、原理讲起,而不是从理论开始让学生感到迷茫不知所措。
十二、SpringBoot项目实战
- 项目推荐:黑马-瑞吉外卖
- 这个项目在我看来是很经典了,很多文章都会介绍,但有一些是说这个项目含金量不足,确实如此,从技术栈来说没什么亮点,但作为新手入门SpringBoot项目实战是非常合适的。从这个项目中可以掌握到的技术是很多的,难度也不高。可以结合我的笔记学习:瑞吉外卖开发梳理
十三、Redis
在之前的瑞吉外卖项目中就已经涉及到Redis用作缓存了,但Redis的功能很强大,缓存只是一种常见的方式,相比MySQL而言,Redis在数据处理上更为丰富。
- 课程推荐:黑马Redis从入门到实战
- 这个课程从Redis的基础讲起,主要通过项目实战进行Redis学习。课程中的黑马点评项目含金量很高,特别是秒杀部分的学习。项目涵盖了目前主流的开发技术,比如SpringBoot、MySQL、Redis。技术栈跟瑞吉外卖一样,但是该项目不是一个单体项目,所以提供了很多分布式下问题的解决思路,秒杀涉及到高并发的处理,这部分是项目的一大亮点。功能不再仅仅是以往接触的增删改查,而是实现了更为丰富的操作,比如附近的人、共同关注等。
十四、微服务
这一部分先推荐课程:黑马微服务课程,后续补充各个技术点。