现在的学习路线图有很多,但是一份跟着时代进步,一份好的学习路线图却是没有多少。
当然,学习是一份循序渐进的过程,也是一份非常难以坚持的一件事情。如果自己真的想要学习Java,自己一定要去坚持。
在这里就分享一套2020年的Java学习路线图,以及学习方法。当然附带视频教程。如果你能坚持学习,也能够学的会,跟着这套学习路线图去学习,你一定可以成为一名合格的程序员。
1、学习前的准备:
1.1、一个好的学习方法(应该怎么学习更高效)
- 编程思想就是编程思路,有很多同学问我:老师,我现在听课能听懂,但是你让我解决一个实际的问题,我不会,不知道该怎么下手!!!
- 千万不要照抄代码,没用。或者说作用很小,如此下去可能会导致你对学习的厌烦。本来是有兴趣的,但是兴趣没了!只有一个程序可以抄写:HelloWorld,大家都知道HelloWorld是我们学习过程中的第一个程序,为什么这个程序可以照抄呢?因为HelloWorld程序的编写是为了测试本地的java环境是否搭建成功了。并不需要理解HelloWorld代码的含义。所以这个程序是可以严格照抄的。
1.2、结论验证法
- 听课的过程当中一定要把笔记记录下来。笔记当中只记忆重点的结论。
- 课下第一件事不是慌着做作业。作业是次要的。首要的第一件事是消化课堂上的结论。比如老师说了:if语句后面有一个小括号,小括号当中的数据类型只允许是布尔类型:true或者false不能是其它数据类型。
- 课下尝试编写属于自己的程序,想尽一切方法去推翻这个结论,如果你无法推翻,那么只能选择接受这个结论,采用这种方式测试之后,发现结论记住了。并且同时也锻炼了编程的思路!
1.3、练就指法速度
- 键盘的手势要正确,左手:asdf,右手:jkl;,如果你的手势不对,从现在开始纠正它。
- 刚开始的时候比较麻烦,还没有二指禅快呢,但是随着时间的推移,你的代码速度会有很明显的提升。只要坚持下来。一开始的时候一定要坚持盲打(强迫自己不看键盘)。
- 可以安装一个金山打字通。可以练习打字。当然,也可以在敲代码的过程中去练习,都是可以的。
- 练习到什么级别?肌肉记忆!!!!
- 有一个很好的指法速度(敲代码快)
1.4、一个好用的截图工具;
- Snipaste
1.5、一个好的记笔记的软件
- 笔记中一定是只记忆重点结论。没有废话。
- 课堂上笔记记简笔,没有时间记那么详细,课下的时候自己再整理。整理各种结论。
- 图文并茂。
- 推荐使用微软的onenote。专门的记笔记的工具。
- 课下第一件事:是编写属于自己的程序,去推翻课堂上的结论。将每个知识点都学透彻!
1.6、一台好一点的电脑
- 建议的配置:酷睿i7九代以上,至少16G内存。因为现在的开发,启动的环境太多,太吃内存,另外电子产品更新换代太频繁,所以建议配置稍微高一些!能多用几年。另外,开发效率也高。
- 开发的过程中需要启动:数据库的服务、IDEA工具、虚拟机、虚拟机中的Linux系统等.....
1.7、一定有一个很好的编程思想(编程思路:能够使用编程的思路去解决现实生活中问题的一种能力)(在学习的过程中进行积累,学习。)
一个合格的程序员应该具备两个能力
- 指法速度
- 编程思想的形成
但是编程思想该怎么样去形成呢?
- 编程思想的形成很难。需要大量代码的堆积才可以。怎么形成编程思想呢?
- 千万别死抄代码。不要像行尸走肉般的抄代码,没有用。只能提高指法速度,无法形成编程思路。
- 核心:找出老师代码的核心思路,类似于:第一步、第二步、第三步、第四步…,然后将每一步一个一个实现掉就行了。最终完成功能就行,先不要要求代码的质量很高。只要功能完成就行了。后期慢慢的你就知道代码可以优化,然后再慢慢优化,慢慢成长。最终会成为大牛。
2、以上准备好之后,那就开始你的Java学习之路吧。(2020年Java最新学习路线图)
一、先学习Java的核心库(JavaSE)
Java语言的基础,是Java的最基本的库。基础语法加常用类库。
JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程……..
不光有视频教程也有、开发工具以及课后作业等等。
JavaSE零基础:
JavaSE进阶:
二、数据库
MySQL(或者Oracle),数据库是所有程序员都需要学习的,因为不管是C语言,还是C++,还是Java,或者其他,软件最终都是操作数据,而数据存储在数据库当中,所以数据库是必须要学习的,大学中大部分都是学习微软的SQLServer。
但是企业中,尤其是互联网公司大部分使用的都是mysql数据库,对于数据库来说,除了MySQL之外,大家如果还有精力的话,可以再学习一下Oracle数据库。
JDBC:Java语言连接数据库。(使用java语言对数据库中数据进行增删改查等操作。)
MySQL:
当然还有经典的MySQL34道经典练习题:
JDBC:
三、Web前端
对于系统结构来说,常见的有两种:第一种是CS结构,第二种是BS结构。BS结构是目前的主流。所谓的BS其实就是:Browser / Server,浏览器访问服务器的形式。
浏览器B端的就是web前端,在浏览器上运行的语言包括:HTML、CSS、JavaScript【JS最重要】
先学习HTML,再学习CSS,最后学习JavaScript。
HTML:
CSS:
JavaScript:
四、JavaWeb(Web后端)
BS结构,我们主要进行的是S端,S端是Server端(服务器端),服务器端可以是C语言,可以是PHP,当然也可以是Java。目前Java居多,占大部分!
包括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)
先学习Servlet,再学习JSP。
Servlet:
JSP:
资料下载获取:http://q.ltcinfo.xyz/
五、web进阶
AJAX(发送一步请求的一个技术)
jQuery(是一个JavaScript语言的高级框架)
AJAX:
jQuery:
学习到这里为止,表示Java基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。
六、JavaWeb项目实战
这个项目最好能将之前所学全部串起来。(对以前的知识点进行巩固。)
基于Servlet + JSP + MySQL + JDBC + HTML + CSS + JavaScript + jQuery + AJAX能做一个web项目。
在这个项目的开发过程中:大家一定要记住,目前比较好的项目自动构建工具:Maven是一定要精通的。还有一个就是团队协作开发:Git/SVN是一定要会用的。(目前使用Git比较多一些。)
以及项目的资源:
七、学习高级框架
Spring + SpringMVC + MyBatis
建议的学习顺序:先学习MyBatis,再学习Spring,最后学习SpringMVC。
如果自己还有多余的时间,大家可以选学以下SSH:Spring + Struts2 + Hibernate
建议SSH的学习顺序:Hibernate、Spring、Struts2
当然Struts2(很少使用了,使用这个的肯定是很老的项目)、Hibernate(传统企业,还有政府等可能会使用Hibernate。)
spring:
springmvc:
mybatis:
八、互联网分布式
你可能需要还要学习一些分布式相关的一些技术。
能够应付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…...........等等
九、分布式项目实战
最好能有一个商业级的项目对以上内容有一个练习。实战操作。
当然还有毕业设计哦~
以及开发工具:
当然还有源码: