文章有点长,请大家耐心看完,话不多说直接上干货!
永不过时的编程语言——Java 编程开发。
Java编程语言占比:
据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位!
Java工程师人才缺口:
根据IDC的统计数字:就2017年来说,我国Java人才的缺口已达42.5万,并且以每年20%左右 的速度增长。在未来5年内,合格软件人才的需求将远大于供给。
Java工程师就业:
1.通过各大招聘网站统计,全国海量公司都在招聘Java开发工程师2.北京Java开发工程师平均薪资,即18530元3.全国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连接池
十三:Servlet
十四:JSP
十五:AJAX
十六:jQuery
十七: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/spring/boot/kafka】:https://jq.qq.com/?_wv=1027&k=5R11ZzY
欢迎工作一到五年的Java工程师朋友们加入Java架构工程师:611481448
本群提供免费的学习指导 架构资料 以及免费的解答
不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导