2021年超详细的Java开发学习路线总结--纯干货分享
本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!
别忘了点个赞,让更多的同学看到!
从零基础入门到可以找到工作的程度,大约准备五个月到六个月左右的时间;科班出身,已经学习过java、数据库等一些课程,根据个人情况,时间适当减少。
*如果你想毕业后从事java开发,最好的准备时间是大三或者研二,其次是现在!*
ps: 我问过在培训机构培训过java的同学,基本上列出的学习点都覆盖了培训的内容,如果自己自制力强的话,就不需要花两万块钱去培训了~~
第一阶段:Java基础
建议用时:30天 重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型
学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有项目也没关系,基础一定要打好,一般笔试以及面试的第一轮,对基础的考察是比较多的。
如果是小白入门,看视频是最有助于理解的,而且是学习最快的,后面再查缺补漏的时候,就看看书就好了,或者回头翻一下笔记。如果已经学过java基础的知识,也可以直接翻一遍书,复习复习即可。看视频的时候不能只听不练,建议用IDEA工具,更普遍一些。
Java教程_超全面Java基础入门教程,零基础小白自学Java编程必备教程_黑马程序员Java全套教程:www.bilibili.com/video/BV18J411W7cE
推荐一本java基础的书籍:《JAVA核心技术 卷1》,入门书籍看这一本就够了,对照上面列出的知识点,吃透这些基础知识,就可以了,后面的Swing、applet等等就不需要看了。
更多技术文章、面试资料、工具教程,还请移步:http://www.javatiku.cn/
第二阶段:数据库
建议用时:7天 重点知识点:基本的增删改查,SQL 命令,索引、存储过程;JDBC
主流的数据库有MySQL、Oracle、SQL Server等等,你只需要搞定一个就可以了,知识都是相通的,一通百通。目前公司里用到MySQL的比较多,所以建议大家学习MySQL数据库。
MySQL数据库视频:
【面试必会】mysql数据库优化全剖析,mysql入门到精通:www.bilibili.com/video/av68811608
JDBC视频:
尚硅谷JDBC核心技术(新版jdbc):www.bilibili.com/video/BV1eJ411c7rf
推荐书籍:
首先是《MySQL必知必会》,这本书很小,口袋书,方便随时查阅。
深入的书籍推荐《MySQL内核:InnoDB存储引擎 卷1》,介绍InnoDB存储引擎的内核,从源代码的角度深度解析了InnoDB的体系结构。
学习网站:
牛客网专注于校招笔试、面试,有SQL数据库实战的题目,有76道题目,有时间可以刷一刷。
SQL数据库实战题_面试必刷+解析_牛客题霸_牛客网:https://www.nowcoder.com/ta/sql
第三阶段:JavaWeb
建议用时:7天 重点知识点:HTML、CSS、JS、jQuery框架、Servlet程序、Filter过滤器、Listener***、JSP页面、EL表达式、JSTL标签库、Cookie技术、Session会话、JSON使用、Ajax请求、Tomcat、maven等等
Java开发的岗位大多是Web开发,所以最好学一学前端的基础,虽然现在都是前后端分离的方式,但是你要懂前端界面和后端数据是怎样交互的,与前端工程师的沟通合作会更加顺利。另外,像一些小公司要求全栈,希望招来的后端开发也能做一些前端的工作,省一些人力成本。
尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版:www.bilibili.com/video/BV1Y7411K7zz
更多技术文章、面试资料、工具教程,还请移步:http://www.javatiku.cn/
第四阶段:框架
建议用时:20天
重点知识点:Spring、SpringMVC、SpringBoot、Mybatis
如果时间非常紧张,可以直接看Springboot和Mybatis,SpringBoot简化配置,非常好理解,这两个框架学完,就能看懂项目了,理解的深度肯定有限的。
下面这个视频着重介绍SpringBoot的使用和内部原理,包含微服务概念、配置文件、日志框架的使用、web开发、Thymeleaf模板引擎、Docker容器技术等等。
尚硅谷SpringBoot顶尖教程(springboot之idea版spring boot):www.bilibili.com/video/BV1gW411W76m
Mybatis的视频主要讲的是配置文件编写、动态SQL、MyBatis缓存机制、MyBatis-Spring整合、MyBatis逆向工程,MyBatis高级内容(MyBatis源码解析,MyBatis单/多插件运行机制,MyBatis四大对象工作原理,自定义TypeHandler、MyBatis存储过程&游标处理等)。
尚硅谷MyBatis实战教程全套完整版(初学者零基础从入门到精通,好评如潮,资料齐全):www.bilibili.com/video/BV1mW411M737
时间宽裕的情况下,Spring、SpringMVC都学习一下,搞懂 AOP 和 IOC 两个概念,以及Spring 中 bean 的作用域与生命周期、SpringMVC 工作原理,对理解Spring相关的框架非常重要。
最新(idea版) mybatis-spring-springmvc-Java一站式学习 -java框架-s***框架-idea-更新完毕:www.bilibili.com/video/BV1mE411X7yp
从框架开始,就不用看书了,基础的知识多看看书,实践性强、应用性强的知识,多实践实践,看看源码,会比看书更有帮助,而且Spring相关的书,也没看到写得好的。
管理系统的项目:
学完框架后,你可以做一个管理系统的项目了,给大家推荐一个管理系统的项目--若依,这是一个基于SpringBoot的权限管理系统,虽然“若依”这个名字听起来很不科技感,但这个项目是非常好的,非常适合入门学习,有文档、有代码,社区里讨论的人也比较多。它有前后端不分离和前后端分离的两个版本。学到这里,你大概能看懂这个项目了~~
前后端不分离的版本:
经典技术组合:Spring Boot、Apache Shiro、MyBatis、Thymeleaf
若依/RuoYi:https://gitee.com/y_project/RuoYi
前后端分离的版本:
- 前端采用Vue、Element UI。
- 后端采用Spring Boot、Spring Security、Redis & Jwt。
若依/RuoYi-Vue:https://gitee.com/y_project/RuoYi-Vue
学到这里就可以满足找工作的基本要求了,如果着急找工作,跳过第五阶段和第六阶段,直接看第七阶段的面试准备。
第五阶段:其他热门技术
建议用时:50天
这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。
Redis数据库学习:
【java基础教程】112节Redis入门到精通:www.bilibili.com/video/av76235738
Nginx反向服务代理:
尚硅谷Nginx教程由浅入深(一套打通丨初学者也可掌握:www.bilibili.com/video/BV1zJ411w7SV
Docker:
【java教程】深入解析docker容器化技术:www.bilibili.com/video/av69121091
ZooKeeper 分布式协调服务技术+Dubbo高性能的 RPC 服务发布和调用框架:
中级程序员必会的高薪技能之快速入门Zookeeper+dubbo【黑马程序员】:www.bilibili.com/video/av74933720
Spring Cloud:
尚硅谷最新版SpringCloud(H版&alibaba)框架开发教程全套完整版从入门到精通(大牛讲授spring cloud):www.bilibili.com/video/BV18E411x7eT
RocketMQ:
RocketMQ系统精讲,经受历年双十一狂欢节考验的分布式消息中间件:www.bilibili.com/video/av66702383
更多技术文章、面试资料、工具教程,还请移步:http://www.javatiku.cn/
第六阶段:java商城项目
建议用时:45天
商城项目整合的知识点非常多,非常全,这一个项目可以把前面学到的知识,全部应用一遍,所以准备一个商场项目来面试的话,面试官能问的点有很多,能深问的点也很多。其实应届生找工作不需要特别丰富的项目经验,但如果一个项目都没有的话,肯定是不行的,面试官不知道问啥。
商城项目的视频(微服务+分布式+全栈+集群+部署+自动化运维+可视化CICD):
全网最强电商教程《谷粒商城》对标阿里P6/P7,40-60万年薪:www.bilibili.com/video/BV1np4y1C7Yf
第七阶段:Java面试准备
尚硅谷出了三季的面试视频,我看过第二季,周阳老师讲的还不错,都是大厂常考常问的点,视频链接如下。
第一季是JavaSE、S***、框架高级、电商项目中的基础知识点。每个视频由浅入深的讲解,帮助大家更好地应对面试,并全方位掌握Java的核心技术点。
[尚硅谷经典Java面试题第一季(java面试精讲):www.bilibili.com/video/BV1Eb411P7bP
第二季主要是JUC多线程并发、JVM和GC等大厂笔试中会考、面试中会问、工作中会用的高频难点知识。
[尚硅谷Java大厂面试题第二季(java面试必学,周阳主讲):www.bilibili.com/video/BV18b411M7xz
第三季的内容也是各大厂常考常问的高频经典Java知识,包括JUC的AQS,Spring循环依赖和三级缓存,Redis内存打满、分布式锁和过期淘汰策略,以及数据结构和手写算法等多个技术维度,涵盖面广内容深,题目困难要求高。
[尚硅谷2021逆袭版Java面试题第三季(java大厂面试题,周阳主讲):www.bilibili.com/video/BV1Hy4y1B78T
除了上述关于Java开发知识的面试准备之外,还要刷一刷算法题。大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。
推荐一本书,《剑指Offer》,面试中经常问到这本书上的算法题或者变形题,我刷了两遍,Python一遍,Java一遍,都整理了笔记,虽然这本书中的算法题随便一搜就能搜出大量博客,但是还是书中讲的详细,提供的解题方法多,带领读者思考。
最后再推荐一个学习网站,LeetCode,可能大家也都听说过,是一个刷算法题的网站,支持Java、Python、C++等各种语言,题目分为简单、中等和困难三种模式。
刚开始刷算法题,吃力是正常的,所以大家不要怀疑自己智商。知乎上经常看到这样的问题:“初刷leecode时会怀疑自己智商吗”“刷leetcode吃力正常吗”“leetcode刷了忘怎么办”...... 这都是正常的,除了天才和绝顶聪明的人之外,我们大家都一样,都会刷了忘忘了刷,也会做不出来需要看看答案。。。
更多技术文章、面试资料、工具教程,还请移步:http://www.javatiku.cn/
我的建议是:
- 把简单题和中等题多刷一些,hard 的就不要勉强自己了,hard的不会也正常
- 按类型刷题,先刷数组,然后链表,然后二叉树、动态规划等等
- 做完一道题,不要以“通过”就满足,再想想有没有更优的解法,多想几遍加深印象
- 反复刷,尤其是面试前要反复刷,使自己在做题的一种氛围中
中文网址:
题库 - 力扣 (LeetCode):https://leetcode-cn.com/problemset/all