Java学习纲要

Java学习纲要

  • 要点
  • 不需要学的内容
    • JSP
    • Struts
    • Hibernate
    • Applet
    • Swing
    • JDBC
    • XML
    • 注意点
  • 学前准备
  • 基础知识
    • Java运行环境
    • Java基本程序结构
    • 类与对象
    • 接口 & 抽象类
    • 发布与部署
    • 泛型
    • 集合
    • 异常和调试
    • 多线程
    • Java8 Java9特性
    • IO/NIO
  • 前端技术
    • 前端基础
  • Spring框架技术
    • Maven
    • 单元测试
    • Spring Core
    • HTTP协议
    • JSON
    • Servlet
    • SpringMVC
  • 应用服务
    • MYSQL
    • MyBatis
    • 缓存
    • NoSQL
    • 队列RabitMQ
    • 反向代理
    • 其它

要点

  • 框架路线:Spring->Servlet->Spring MVC->SpringBoot
  • 分门别类保存demo,学习的过程中善于调用demo
  • Servlet要进行深度学习,因为其是基石,所有框架最底层以Servlet为基础。
    下面引用一张图:
    Java学习纲要_第1张图片

不需要学的内容

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

你可能感兴趣的:(学习,代码)