2019年Java学习路线
一、2019新版Java学习路线图—每阶段市场价值及可解决的问题
二、2019新版Java学习路线图—学习大纲及各阶段知识点
三、2019新版Java学习路线图—升级后新增知识点一览
总结:
一.JavaSE基础 (建议三个月)
主看刘意,辅看毕向东。(看一遍肯定是不行,至少两遍)
两人都是传智的老师,后者的视频稍微老一点,可结合来看,因为每个人的理解都会不同。
注:可尝试使用Xmind画思维导图,只有自己画的才记得住。
(这个阶段真不建议看书,因为基础还是太薄弱,理解起来会很困难。)
口诀:
面向对象是基石,集合和IO是重要内容
常用API中,String及其相关类StringBuffer、StringBuilder是关键,必须熟练掌握
泛型一般只出现在集合中,如果觉得太难,可先只掌握集合中的泛型
反射非常抽象,虽然不是重点,但它是JavaWeb中很多难点的底层支撑
重点:面向对象、集合、IO、String及基相关类、反射、泛型
熟悉:异常、多线程
初步了解:正则表达式、网络编程、Lambda表达式
二.JavaWeb前端部分 (建议两个月)
推荐看崔希凡(+广陵散)的,原因是他也是传智的,同一学校的衔接度会较好。
缺点是没有JQuery和bootstrap,只能去菜鸟教程上补充学习。
另外,也可看一下方立勋(目前传智的副总裁)的,内容更加全面些。
网上推荐最多的是尚学堂的马士兵,视频虽然很老了(JDK1.5),但却是最适合初学者的。
首先我们可以学习一下Web前端的知识(此部分都简单过一下就好了)
-
HTML/CSS/JavaScript/jQuery
-
CSS框架(都有中文手册,很快就上手了,选一个自己喜欢的就好了):
-
BootStrap:http://www.bootcss.com/
-
Materialize:http://www.materializecss.cn/
到目前为止,学完上面这些可以搭建“能看”的静态网页了。曾经看过一段话来总结上面的技术:
-
“HTML是名词,CSS是形容词,JavaScript是动词”
重点:mysql、JDBC、linux、xml、servlet、redis、maven
-
Tomcat(简单过一下)
-
XML/注解(简单过一下)
-
Servlet(重点理解)
-
HTTP协议(重点理解)
-
Filter过滤器(重点理解)
-
Listener监听器(简单过一下)
-
JSP(简单过一下)
-
AJAX、JSON(简单过一下)
基于上面的学习,起码已经可以使用request对象来接收前端发送过来的数据,
使用response对象将Java后端的数据返回给前端,
使用Filter拦截器来处理中文乱码问题(Tomcat默认的编码是ISO-88591)。
总的来说已经可以实现前后端交互了!
三.数据库学习
数据库这里指的是关系型数据库,一般我们以MySQL来入门就足够了。
主要学习SQL的基本使用吧:
-
创建表(create table)
-
增删改查(insert,delete,update,select)
-
对于存储过程、触发器这些了解一下即可
-
对于索引、锁后面再学(此部分很重要,但以快速入门来说,可以先不看)
四.学习Java连接数据库(JDBC)
到这里,我们Java Web、数据库、Web前端的基础都已经基本学完了,但此时Java和数据库是相互独立的。
我们想要以程序的方式来对数据库的数据进行操作,那就要学习一下Java连接数据库(JDBC)。
JDBC这项技术并不难呀,就是模板代码,来来去去就几个步骤:
-
导入MySQL或者Oracle驱动包
-
装载数据库驱动程序
-
获取到与数据库连接
-
获取可以执行SQL语句的对象
-
执行SQL语句
-
关闭连接
由于这些代码可能会重复出现,那我们可以学习一下DbUtils这个组件:可以帮我们减少编写JDBC的模板代码。
五.项目管理和框架的学习
经过上面的学习,已经是可以在本地写一个Web项目了。
-
页面框架使用BootStrap/Materialize框架来搭好
-
请求处理交由Servlet,返回的数据可以通过AJAX或者使用JSP,DAO层可以使用DbUtils。
-
数据保存在MySQL中
为了让写代码变得更爽,我建议用半天学一下Maven(项目管理工具),用几天学一下SpringBoot。
-
从Servlet直接跳到SpringBoot可能有点难理解,但多搞几天我相信还是可以的..
SSH框架(快速过一遍,虽然目前已经不用了)
1.崔希凡的Structs2,用来衔接JavaWeb,用来过渡
2.刘悦东的ssh框架
3.王泽(广陵散)的2016ssh框架+ssh综合项目实践
可以先看崔希凡或者刘悦东的作为过渡,不然直接看王泽的可能会有些懵。
SSM框架(重点中的重点)
李旭的mybatis和springmvc
燕青的springmvc,mybatis由浅入深(传智的老师)
尚硅谷佟刚的Mybatis从入门到精通(源码级讲授Mybatis)
重点:mybatis、spring、springMVC、oracle、maven
六.Linux学习
最后,我们在本地上写完的项目想要让其他人都看得见,一般都会部署在Linux环境下的。
(此部分的学习可以等到将项目写完,想要部署项目才学习)
七.总结:
-
Java基础–>流程控制–>面向对象(包括Java语法)–>Java集合–>Java IO流–>异常–>多线程–>网络编程–>反射
-
JavaWeb基础–>HTML/CSS/JavaScript/jQuery–>Tomcat–>XML/注解->Servlet–>HTTP–>Filter过滤器和监听器–>JSP–>AJAX/JSON–>数据库(MySQL)–>JDBC和DbUtils
-
项目管理和框架–>Maven–>SpringBoot
-
Linux基本命令
最后我们的项目是这样的:
-
以Maven来管理我们的项目
-
前端通过BootStrap来搭建页面框架
-
SpringBoot来搭建Java后端环境,SpringMVC处理前端请求(SpringBoot整合了)
-
DAO层使用DbUtils组件来完成,MySQL作为数据库
注意:
- 不要想着彻底掌握一块知识点后再学下一块,因为有些知识点需要串联一块去理解
- 在理解的前提下用最快的时间先过一遍,对整体学习路线有个把握