Java学习路线

tech2022-09-22  71

文章目录

前言一、Java是什么?二、学习路线Java基础一:Java开发介绍二:Java数组三:Java面向对象四:常用基础类五:集合六:IO流七:多线程八:异常九:网络十:反射十一:MySQL使用十二:JDBC连接池十三:Servlet十四:JSP十五:AJAX十六:jQuery十七:Bootstrap Java框架十八:Maven十九:Hibernate二十:Spring二十一:Spring MVC二十二:MyBatis二十三:WebService二十四:SVN二十五:Activiti Java + 云数据二十六:Linux版本二十七:FastDFS二十八:MySQL优化二十九:Nginx反向代理三十:Quartz 作业调度三十一:Redis 高性能(Key-Value)数据库三十二:Shiro 安全(权限)框架三十三:Lucene&Solr全文检索三十四:Zookeeper 分布式系统三十五:MyCAT 大数据集群三十六:Dubbo实现分布式架构三十七:ActiveMQ 消息队列三十八:分布式事务和单点登录三十九:分布式框架原理四十:基于SpringMVC的集成单元测试MockMVC四十一:SpringBoot 快速构建JavaEE项目 总结


前言

Java编程语言占比:

据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位! 整理归纳Java学习路线


一、Java是什么?

Java 是一门面向对象的编程语言,易学难精,想要弄懂Java底层,还需不断学习

二、学习路线

Java基础

一:Java开发介绍

DOS常用命令

JVM、JRE、JDK之间的关系

Java开发环境的搭建:安装JDK,配置环境变量

Java入门程序(Java的开发流程)

Java的注释,标识符、标识符的命名规范

Java基本数据类型

变量和常量的定义及初始化

Java的运算符

运算符的优先级

Java分支语句之if…else

循环的嵌套

方法的定义

方法的形参和实参

方法的压栈

方法的递归调用

二:Java数组

Java 数组的定义

Java 数组的声明

数组的优势与局限

数组的动态初始化

数组的存储特点(堆和栈)

数组的遍历访问(普通循环,增强for循环)

数组元素的顺序查找

数组元素的二分法查找

数组元素的选择排序

数组元素的冒泡法排序

Arrays工具类的使用

二维数组的介绍

二维数组的声明与初始化

二维数组的遍历

二维数组的使用

三:Java面向对象

面向对象设计思想

面向对象的分析与设计

Java与面向对象

类中成员变量的定义与意义

构造方法的定义和调用

面向对象的封装特性

局部变量和成员变量的作用域问题

静态属性、静态方法、静态代码块

面向对象的继承特性

继承中构造方法的细节

面向对象的多态特性

抽象方法与抽象类

接口的介绍

通过内部类制作性能检测工具

Java的内存分析

四:常用基础类

枚举类型介绍

枚举的定义

结合switch-case使用枚举

String字符串

字符串缓冲区StringBuffer和StringBuilder

字符串与缓冲区的区别

基本类型的包装类型

Date类的使用

SimpleDateFormat类的使用

Math类的使用

Random类的使用

Runtime类的使用

System 类的使用

Calendar类的使用

Java8新特性

五:集合

集合的概念和作用

集合和数组的区别

集合框架体系介绍

集合框架之Collection接口

泛型的使用

ArrayList和LinkedList的方法使用

ArrayList和LinkedList各自的工作原理分析原理分析

Vector和Stack使用介绍

使用多种方式遍历集合

迭代器的使用和工作原理

HashSet和LinkedHashSet各自的工作原理分析

集合框架之Map接口

TreeMap的方法使用和排序方式

分析Set和Map之间的区别与联系

Collections工具类的使用

六:IO流

File类的作用

File类中常用方法的使用介绍

使用File类操作文件和文件夹

相对路径和绝对路径的介绍

IO流的概念和工作原理

IO流的分类

文件流的使用

转换流的使用

缓冲流的使用

对象流的使用

内存流的使用

使用不同的流实现文件内容的拷贝

RandomAccessFile类的使用

Properties类的使用

装饰者设计模式

七:多线程

进程和线程的介绍

进程和线程之间的区别与联系

线程实现方式之继承自Thread类

线程实现方式之实现Runnable接口

线程实现方式之线程池

线程的生命周期

线程中常用方法的使用

多线程中的临界资源问题分析

解决临界资源问题之同步代码块

解决临界资源问题之同步方法

解决临界资源问题之ReentrantLock

多线程讲解和理解

多线程在单例中的应用

死锁介绍以及案例演示

生产者与消费者设计模式

八:异常

异常的概念

异常的分类

异常的理解

常见异常介绍

运行时异常

编译时异常

运行和编译异常区别

异常的处理方式之捕获异常

异常的处理方式之抛出异常

异常的处理方式之断点调试

断点调试之引导运行步骤

自定义异常

异常关键字处理

关键字执行流程

异常总结

九:网络

计算机网络和网络编程

网络编程与网页编程的区别

IP地址和端口号的介绍

网络通信协议的介绍

InetAddress类的方法使用

Socket通信模型的介绍

使用UDP实现数据的发送和接收

使用TCP实现数据的发送和接收

使用TCP实现文件的上传和下载

使用TCP实现多人聊天

URL和URLConnection使用介绍

URLEncoder和URLDecoder的使用介绍

基于HTTP协议访问网络资源

Json解析

基于HTTP协议实现网络文件的下载

十:反射

反射机制的概念

反射机制的作用

反射机制的理解

Class类的使用

Class文件获取的三种方式

获取Constructor对象

获取私有Constructor对象

获取Method对象

获取私有Method对象

Constructor的使用

Method类的使用

Field类的使用

Modifier类的介绍

反射使用练习

反射机制在工厂设计模式中的应用

十一:MySQL使用

数据库简介

MySQL的安装与使用

MySQL客户端和服务器配置

用户权限管理

DDL创建数据库和表

约束与外键

DML实现添加、修改、删除数据

聚合函数、日期函数等

DQL简单查询

排序、分组、筛选

多表查询

子查询

in和exists关键字

分页查询

Mysql SQL语句优化介绍

十二:JDBC连接池

JDBC概述

JDBC使用步骤

Connection、Statement、ResultSet接口

使用JDBC 完成数据库DML操作

PreparedStatement对象

大数据的操作

批量处理与元数据

事务处理

隔离级别

自定义连接池

DBCP、C3p0连接池

DBUtis工具类

QueryRunner

自定义结果集处理

连接池知识总结

十三:Servlet

Tomcat与Eclipse的集成开发

什么是Servlet

Servlet的进化史

Servlet的优化过程

Servlet中应用的多线程概念

Servlet接收客户端请求信息

Servlet响应客户端信息

Servlet的生命周期

重定向写法

转发写法

转发和重定向区别

HttpServletRequest获取中文乱码问题

HttpServletResponse响应中文乱码问题

Servlet路径映射问题

Servlet多路径映射

十四:JSP

什么是JSP

JSP的内置对象

透析JSP的本质

JSTL+EL

MVC介绍

分层的重要性

Web工程中事务实现

Session的使用

Cookie的使用

web工程中连接池的使用

实现用户的自动登录

文件的上传、下载

过滤器、 监听器

反射、注解、泛型

综合案例练习

十五:AJAX

Ajax技术背景

Ajax技术的理解

XMLHttpRequest使用步骤

XMLHttpRequest GET/POST的区别

同步请求&异步请求

同步请求&异步请求的区别

Ajax获取不同的返回值类型

Ajax使用原生JavaScript和Jquery的区别

Ajax响应状态处理

JSON语法

Java JSON 解析

Java JSON 生成

Java JSON 第三方工具快速解析

JavaScript JSON转换

Jquery JSON转换

十六:jQuery

jQuery介绍

jQuery版本介绍

jQuery对象和原生js对象介绍

jQuery对象和原生js对象互相转化

jQuery快速入门

jQuery语法详解

jQuery核心函数

jQuery onload处理

jQuery选择器

jQuery 文档处理

jQuery事件

jQuery遍历操作

jQuery自定义函数

jQuery动画效果

jQueryAJAX操作

十七:Bootstrap

Bootstrap介绍

Bootstrap开发环境搭建

Bootstrap的基本模板

Bootstrap快速入门

Bootstrap组成

栅格系统

利用栅格系统进行移动端页面适配

Bootstrap全局Css样式

Bootstrap修改原Css样式进行自定义

Bootstrap的js组件

Bootstrap的js组件样式修改

集成Bootstrapjs插件之导航条

集成Bootstrapjs插件之轮播图

集成Bootstrapjs插件之弹出框

Bootstrap进行项目整合

Java框架

十八:Maven

Maven环境搭建

Maven构建项目

Maven本地仓库配置

Maven中央仓库配置

Maven基本概念

Maven基本命令介绍

Maven于Eclipse整合

Maven于Idea整合

Maven创建web工程

pom.xml、依赖管理

坐标、依赖、生命周期等

Eclipse下的Maven使用

Maven中 继承、聚合

Maven构建SSH/SSM应用

自动部署、持续集成、持续部署

十九:Hibernate

Hibernate框架介绍

Hibernate于其他框架和DBUtil工具类对比

ORM思想

Hibernate5与JPA关系介绍

Hibernate.cfg.xml配置

hbm.xml映射文件详解

主键生成策略 PO对象三种状态分析与切换

Hibernate5一级缓存分析与测试

Hibernate5高级映射技术

一对多映射

多对多映射

Hibernate5多表联合查询

Hibernate5延迟加载

Hibernate5加载策略

二级缓存

二十:Spring

框架原理介绍

框架环境搭建

快速入门

创建Bean的方式及实现原理

Bean种类

Bean生命周期

Bean的作用域

Bean的注值方式

SpEL

整合Junit测试

Web项目集成Spring

注解装配Bean

AOP思想、原理解剖

传统方式实现AOP开发

AspectJ介绍及实现AOP开发

二十一:Spring MVC

Spring MVC 概述

使用 @RequestMapping映射请求

请求处理方法签名概述

处理方法签名详细说明

使用 HttpMessageConverter

处理模型数据

数据绑定流程剖析

数据格式化

数据校验

视图和视图解析器

处理方法的数据绑定

视图和视图解析器

文件上传下载

JSON处理

拦截器

二十二:MyBatis

MyBatis数据框架介绍

MyBatis对比Hibernate框架

MyBatis配置、查询数据

MyBatis全局配置文件

MyBatis全局配置文件元素详细介绍

Mapper映射文件

MyBatis两种开发方式

MyBatis中别名配置

MyBatis # 和 $ 拼接参数区别

关联查询,动态sql

MyBatis缓存机制、整合ehcache

MyBatis二级缓存处理

MyBatis、Spring、SpringMVC整合

分页插件

MyBatis逆向工程

二十三:WebService

WebService简介

WebService主流框架

SOAP协议

WSDL讲解

JAX-WS

WebService与Spring整合

JAXB

JAX-RS

WebService各种调用方式

cxf的介绍

cxf+jaxws基本

cxf+jaxws+spring

cxf+JAX-RS基本

cxf+JAX-RS+spring

综合案例

二十四:SVN

SVN简介

SVN和Git对比

SVN服务器搭建

SVN创建仓库

SVN创建用户以及分配权限

SVN签出、提交、更新

Eclipse整合svn插件

Idea整合svn插件

使用SVN更新提交

SVN仓库分析

SVN协同修改&冲突解决

SVN代码整合注意事项

SVN权限管理

SVN数据回滚

TortoiseSVN

二十五:Activiti

工作流介绍

工作流引擎

工作流使用步骤

BPMN2.0规范

Activiti5框架表结构

Activiti5核心组件&服务接口

Activiti5插件安装&整合Spring

流程定义

流程实例、任务、历史

任务领取、流程变量

排他网关、并行网关

流程事件

流程控制

监听器

简单整合shiro

Java + 云数据

二十六:Linux版本

1.Linux简介和安装

2.Linux和Windows的区别

3.Linux远程登录

4.Linux常用命令

5.Linux文件管理

6.Linux用户管理

7.Linux用户组管理

8.Linux磁盘管理

9.Linux系统管理

10.Linux常用文件

11.Linux JDK安装

12.Linux Tomcat安装

13.Linux MySQL安装

二十七:FastDFS

1.FastDFS简介

2.FastDFS单节点安装

3.FastDFS Tracker和Storage节点操作

4.FastDFS 配置Tracker服务器

5.FastDFS 配置Storage服务器

6.FastDFS JavaClient端 文件上传

7.FastDFS JavaClient端 文件下载

二十八:MySQL优化

1.优化数据访问

2.重构查询的方式

3.查询缓存

4.切分查询

5.MySQL索引

6.MySQL锁

7.MySQL执行计划

8.MySQL存储引擎

9.Schema与数据类型优化

二十九:Nginx反向代理

1.Nginx反向代理介绍

2.Nginx 下载和安装

3.Nginx 编译和启动、访问

4.在Linux下搭建Nginx集群

5.在Windows搭建Nginx集群

6.解决Session共享问题

三十:Quartz 作业调度

1.Quartz作业调度简介

2.Quartz作业调度执行以及持久性

3.Quartz基本使用

4.Quartz核心类讲解

5.Quartz Trigger 触发器

6.Quartz Job&JobDetail

7.Quartz Calendars日历讲解

8.JobListener监听器和TriggerListener监听器

9.Spring整合Quartz

三十一:Redis 高性能(Key-Value)数据库

1.NoSQL 发展史简介

2.Redis 简介

3.Redis 安装以及调试

4.Redis 常用指令

5.Redis 高级使用(主从复制、哨兵模式、持久化机制)

6.Jedis的基本使用

7.SSM框架基于Redis实现缓存

8.Redis 连接单机版

9.Redis 连接单机版使用连接池

10.封装和整合Spring

11.Redis 集群搭建

三十二:Shiro 安全(权限)框架

1.Shiro功能简介

2.Shiro框架介绍

3.ShiroFilter工作原理

4.Shiro 身份认证

5.Shiro Realm以及Authenticator

6.Shiro拦截器和Permissions(授权)

7.Shiro 自定义拦截器

8.Shiro Session会话

9.Shiro RememberMe功能

10.SSM集成Shiro综合权限菜单

三十三:Lucene&Solr全文检索

1.Lucene 搜索引擎介绍

2.Lucene 中文分词器配置

3.Lucene 索引的维护包括创建、删除、修改操作

4.Lucene Query 各种查询方法

5.Lucene 高亮显示

6.Lucene Facet分面检索

7.Solr简介

8.Solr 安装和配置

9.Solr 索引库管理

10.什么是SolrCloud

11.Solr集群的系统架构

12.将搜索功能切换到集群版

三十四:Zookeeper 分布式系统

1.Zookeeper 简介

2.Zookeeper 特点

3.Zookeeper 安装和配置

4.Zookeeper数据类型

5.Zookeeper服务中操作

6.Zookeeper Wacth触发器

7.Zookeeper分布式应用

三十五:MyCAT 大数据集群

1.MyCat 简介

2.MyCat的下载和安装

3.MyCat分片配置

4.MyCat分片使用和测试

5.MyCat读写分离

6.MyCat 实现从MySQL主从复制

三十六:Dubbo实现分布式架构

1.Dubbo简介

2.单一应用框架

3.垂直应用框架

4.分布式应用框架

5.流动计算机架构

6.Dubbo 能做什么

7.Dubbo 实现原理

8.Dubbo 分布式集群模型

9.Dubbo管理控制台安装

10.Dubbo 集成 SSM

三十七:ActiveMQ 消息队列

1.ActiveMQ简介

2.JMS简介

3.MQ 消息中间件

4.ActiveMQ 安装和使用

5.ActiveMQ 消息过滤

6.ActiveMQ 消息发布和订阅模式

7.ActiveMQ消息持久化

8.ActiveMQ与Spring 整合

三十八:分布式事务和单点登录

1.阶段提交协议讲解

2.使用消息队列来避免分布式事务

3.如何可靠保存凭证

4.业务与消息解耦方式

5.如何解决消息重复投递的问题

6.什么是单点登录

7.单点登录技术的实现机制

三十九:分布式框架原理

1.传统垂直mvc项目

2.垂直架构的缺点

3.RPC架构

4.RPC架构的核心技术点

5.RPC架构的问题

6.SOA服务化架构

7.框架设计原理

8.框架性能、可靠性、功能

9.协议栈(通信模型、协议消息定义、安全性设计)

10.服务路由

11.集群容错

四十:基于SpringMVC的集成单元测试MockMVC

1.Mock测试框架的介绍

2.SpringMVC Mock 配置的步骤

3.基于SpringMVC单元测试实战案例

4.基于SpringMVC+JPA单元测试实战案例

四十一:SpringBoot 快速构建JavaEE项目

1.基于SpringBoot 的thymeleaf 模板引擎

2.基于SpringBoot 多模块实战开发

3.基于SpringBoot 文件上传

4.基于SpringBoot Data Solr搜索引擎开发

5.基于SpringBoot Email邮件发送

6.基于SpringBoot 的Redis实战开发

7.基于SpringBoot 的WebSocket实战开发

8.基于SpringBoot 的ActiveMQ消息队列


总结

Java是一门深奥的计算机语言,加油学习吧

最新回复(0)