Java学习纲要
要点
- 框架路线:Spring->Servlet->Spring MVC->SpringBoot
- 分门别类保存demo,学习的过程中善于调用demo
- Servlet要进行深度学习,因为其是基石,所有框架最底层以Servlet为基础。
下面引用一张图:
不需要学的内容
JSP
作为MVC中的view,早已经被抛弃。不适合前后端分离的模式。(后端只负责提供服务接口,例如REST),前后端分离使前端通过接口发送/获取,呈现数据(JSON)。
后端变成MC框架,与View的一切技术失去学习的必要。
Struts
SpringMVC将其替代。
Hibernate
OR映射框架,但是复杂、十分精巧。所以调优困难。被轻量级OR映射框架Mybatis取代。
Applet
Swing
C#(Winform、WPF)代替
JDBC
XML
正在被JSON取代。真要学时候边用边查。
注意点
- 实际开发是否用到
- 是否有助于加深对技术理解
- 对面试是否有用
学前准备
四个阶段:
- 基础知识
- 前端技术
- Spring框架
- 应用服务
Spring相关jar包、测试程序编写及管理。
接触Spring前要了解Maven和Junit。
Spring阶段:Servlet -> Spring Core -> Spring MVC。
想要学透Spring,最终的办法是阅读源码。
最后还是要多多实践练习。
基础知识
基础知识庞杂冗余,核心原则是“有用”。
有用书本《Java核心技术 卷》。
Java运行环境
- JDK下载、设置
- Eclipse
Java基本程序结构
- 基本变量
- 运算符
- 字符串
- 流程控制
- 数组
类与对象
- 类的定义和使用
- 静态属性及方法
- 继承
- 包管理
- 枚举
- 反射
接口 & 抽象类
- 接口的定义和实现
- 抽象类的定义及实现
发布与部署
- JAR包概述
- 创建JAR
- 引用JAR
泛型
- 泛型类
- 泛型方法
集合
- 集合接口
- 列表
- Map
- 树
- 排序和查找
异常和调试
- 内置异常
- 声明异常
- 自定义异常
- 捕获异常
- 日志
多线程
- 多线程概念
- 使用线程
- 同步
Java8 Java9特性
掌握对代码使用更加方便。
IO/NIO
前端技术
前端基础
- 学习vue
- JSON数据格式
Spring框架技术
首先学习junit和HttpClient组合,用单元测试来满足SpringMVC的测试需求。
Maven
- Maven与包管理
- POM文件
- 内置命令
- 声明周期
- 插件
- Eclipse集成
- Nexus私服
单元测试
- 单元测试概念
- Junit
Spring Core
- 依赖注入与控制翻转
- Spring概述
- xml装配bean
- Spring容器与生命周期
- 自动装配
- 注解装配
- 切面编程(AOP)
HTTP协议
- HTTP协议概念
- 方法(如GET/POST)
- HttpClient库
JSON
- JSON概念
- JSON与HTTP
- jackson库
Servlet
- Servlet概念
- Servlet生命周期
- Filter和Listener
- Tomcat与Servlet容器
SpringMVC
- MVC概念
- 配置SpringMVC
- 路径映射
- 参数传递
- 实现REST
- 权限控制
应用服务
MYSQL
- 关系型数据库概念
- 安装
- 创建表
- 关联表
- SQL增删改查
MyBatis
- OR映射概念
- 配置
- 映射
- 基本Java库
- 集成Spring
缓存
- 缓存概念
- 安装Redis
- 用客户端操作Redis
- 用Java操作Redis
NoSQL
- NoSQL概念
- 安装MongoDB
- 用客户端操作
- 用Java操作
队列RabitMQ
- 队列概念
- 安装RabitMQ
- 用客户端操作
- 用Java操作
反向代理
- 反向代理概念
- 安装Nginx
- 配置Nginx代理Tomcat
其它
- 日志框架Log4j
- 分布式版本控制Git
- 全文索引数据库solr
- 分布式架构Dubbo
- 全文检索ElasticSearch
- 虚拟化容器Docker
- 实时接口文档Swagger2
- 数据仓库Hive
- 分布式发布-订阅消息kafka