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作为数据库

  注意:

  1. 不要想着彻底掌握一块知识点后再学下一块,因为有些知识点需要串联一块去理解
  2. 在理解的前提下用最快的时间先过一遍,对整体学习路线有个把握
posted @ 2020-03-24 16:04  benon  阅读(380)  评论(0编辑  收藏  举报