多语言展示
当前在线:1547今日阅读:195今日分享:41

Java学习路线(完整详细版)

一门永不过时的编程语言——Java 编程开发。Java编程语言占比:据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位!Java工程师人才缺口:根据IDC的统计数字:就2017年来说,我国Java人才的缺口已达42.5万,并且以每年20%左右 的速度增长。在未来5年内,合格软件人才的需求将远大于供给。Java工程师就业:1.通过各大招聘网站统计,都在招聘Java开发工程师2.北京Java开发工程师平均薪资,即18530元3.全国Java开发薪资前三:北京 上海 广州
工具/原料
1

Java学习路线

2

Java学习大纲

Java基础课程

Java基础课程内容涉及:Java开发介绍、Java数组、Java面向对象、常用基础类、集合、IO流、多线程、异常、网络、反射。

第一阶段:Java基础
1

第一部分:Java开发介绍1. DOS常用命令2. JVM、JRE、JDK之间的关系3. Java开发环境的搭建:安装JDK,配置环境变量4. Java入门程序(Java的开发流程)5. Java的注释,标识符、标识符的命名规范6. Java基本数据类型7. 变量和常量的定义及初始化8. Java的运算符9. 运算符的优先级10. Java分支语句之if...else11. 循环的嵌套12. 方法的定义13. 方法的形参和实参14. 方法的压栈15. 方法的递归调用

2

第二部分:Java数组1. Java 数组的定义2. Java 数组的声明3. 数组的优势与局限4. 数组的动态初始化5. 数组的存储特点(堆和栈)6. 数组的遍历访问(普通循环,增强for循环)7. 数组元素的顺序查找8. 数组元素的二分法查找9. 数组元素的选择排序10. 数组元素的冒泡法排序11. Arrays工具类的使用12. 二维数组的介绍13. 二维数组的声明与初始化14. 二维数组的遍历15. 二维数组的使用

3

第三部分:Java面向对象1. 面向对象设计思想2. 面向对象的分析与设计3. Java与面向对象4. 类中成员变量的定义与意义5. 构造方法的定义和调用6. 面向对象的封装特性7. 局部变量和成员变量的作用域问题8. 静态属性、静态方法、静态代码块9. 面向对象的继承特性10. 继承中构造方法的细节11. 面向对象的多态特性12. 抽象方法与抽象类13. 接口的介绍14. 通过内部类制作性能检测工具15. Java的内存分析

4

第四部分:常用基础类1. 枚举类型介绍2. 枚举的定义3. 结合switch-case使用枚举4. String字符串5. 字符串缓冲区StringBuffer和StringBuilder6. 字符串与缓冲区的区别7. 基本类型的包装类型8. Date类的使用9. SimpleDateFormat类的使用10. Math类的使用11. Random类的使用12. Runtime类的使用13. System 类的使用14. Calendar类的使用15. Java8新特性

5

第五部分:集合1. 集合的概念和作用2. 集合和数组的区别3. 集合框架体系介绍4. 集合框架之Collection接口5. 泛型的使用6. ArrayList和LinkedList的方法使用7. ArrayList和LinkedList各自的工作原理分析原理分析8. Vector和Stack使用介绍9. 使用多种方式遍历集合10. 迭代器的使用和工作原理11. HashSet和LinkedHashSet各自的工作原理分析12. 集合框架之Map接口13. TreeMap的方法使用和排序方式14. 分析Set和Map之间的区别与联系15. Collections工具类的使用

6

第六部分:IO流1. File类的作用2. File类中常用方法的使用介绍3. 使用File类操作文件和文件夹4. 相对路径和绝对路径的介绍5. IO流的概念和工作原理6. IO流的分类7. 文件流的使用8. 转换流的使用9. 缓冲流的使用10. 对象流的使用11. 内存流的使用12. 使用不同的流实现文件内容的拷贝13. RandomAccessFile类的使用14. Properties类的使用15. 装饰者设计模式

7

第七部分:多线程1. 进程和线程的介绍2. 进程和线程之间的区别与联系3. 线程实现方式之继承自Thread类4. 线程实现方式之实现Runnable接口5. 线程实现方式之线程池6. 线程的生命周期7. 线程中常用方法的使用8. 多线程中的临界资源问题分析9. 解决临界资源问题之同步代码块10. 解决临界资源问题之同步方法11. 解决临界资源问题之ReentrantLock12. 多线程讲解和理解13. 多线程在单例中的应用14. 死锁介绍以及案例演示15. 生产者与消费者设计模式

8

第八部分:异常1. 异常的概念2. 异常的分类3. 异常的理解4. 常见异常介绍5. 运行时异常6. 编译时异常7. 运行和编译异常区别8. 异常的处理方式之捕获异常9. 异常的处理方式之抛出异常10. 异常的处理方式之断点调试11. 断点调试之引导运行步骤12. 自定义异常13. 异常关键字处理14. 关键字执行流程15. 异常总结

9

第九部分:网络1. 计算机网络和网络编程2. 网络编程与网页编程的区别3. IP地址和端口号的介绍4. 网络通信协议的介绍5. InetAddress类的方法使用6. Socket通信模型的介绍7. 使用UDP实现数据的发送和接收8. 使用TCP实现数据的发送和接收9. 使用TCP实现文件的上传和下载10. 使用TCP实现多人聊天11. URL和URLConnection使用介绍12. URLEncoder和URLDecoder的使用介绍13. 基于HTTP协议访问网络资源14. Json解析15. 基于HTTP协议实现网络文件的下载

10

第十部分:反射1. 反射机制的概念2. 反射机制的作用3. 反射机制的理解4. Class类的使用5. Class文件获取的三种方式6. 获取Constructor对象7. 获取私有Constructor对象8. 获取Method对象9. 获取私有Method对象10. Constructor的使用11. Method类的使用12. Field类的使用13. Modifier类的介绍14. 反射使用练习15. 反射机制在工厂设计模式中的应用

JavaWeb课程

JavaWeb课程内容涉及:HTML5课程、CSS3、JavaScript、MySQL使用、JDBC连接池、Servlet、JSP、AJAX、jQuery、Bootstrap。

第二阶段:JavaWeb
1

第一部分:HTML51. html概述2. html基本标签3. 图片标签4. 超链接标签5. 表格标签6. 无序列表标签7. 有序列表标签8. 定义列表标签9. div标签10. 语义化标签11. 表单标签12. 语义化表单元素13. 框架标签14. 特殊字符15. 综合案例

2

第二部分:CSS31. CSS3简介和用途2. CSS3书写规范3. CSS3基本语法4. CSS3三种使用方式5. 标签选择器6. Id选择器7. Class选择器8. 属性选择器9. 层次选择器10. 文字、文本属性11. 背景、列表属性12. 尺寸、显示、轮廓属性13. 浮动、定位属性14. 盒子模型15. CSS3高级属性

3

第三部分:JavaScript1. JavaScript概述2. JavaScript发展史3. JavaScript组成4. 数据类型5. 运算符6. 分支语句7. 循环语句8. 系统函数、自定义函数、匿名函数9. 常见事件10. 数组、字符串、日期对象11. 正则表达式12. BOM对象:window、history、location13. DOM概念14. DOM操作:创建、修改内容、删除15. Css样式操作

4

第四部分:MySQL使用1. 数据库简介2. MySQL的安装与使用3. MySQL客户端和服务器配置4. 用户权限管理5. DDL创建数据库和表6. 约束与外键7. DML实现添加、修改、删除数据8. 聚合函数、日期函数等9. DQL简单查询10. 排序、分组、筛选11. 多表查询12. 子查询13. in和exists关键字14. 分页查询15. Mysql SQL语句优化介绍

5

第五部分:JDBC连接池1. JDBC概述2. JDBC使用步骤3. Connection、Statement、ResultSet接口4. 使用JDBC 完成数据库DML操作5. PreparedStatement对象6. 大数据的操作7. 批量处理与元数据8. 事务处理9. 隔离级别10. 自定义连接池11. DBCP、C3p0连接池12. DBUtis工具类13. QueryRunner14. 自定义结果集处理15. 连接池知识总结

6

第六部分:Servlet1. Tomcat与Eclipse的集成开发2. 什么是Servlet3. Servlet的进化史4. Servlet的优化过程5. Servlet中应用的多线程概念6. Servlet接收客户端请求信息7. Servlet响应客户端信息8. Servlet的生命周期9. 重定向写法10. 转发写法11. 转发和重定向区别12. HttpServletRequest获取中文乱码问题13. HttpServletResponse响应中文乱码问题14. Servlet路径映射问题15. Servlet多路径映射

7

第七部分:JSP1. 什么是JSP2. JSP的内置对象3. 透析JSP的本质4. JSTL+EL5. MVC介绍6. 分层的重要性7. Web工程中事务实现8. Session的使用9. Cookie的使用10. web工程中连接池的使用11. 实现用户的自动登录12. 文件的上传、下载13. 过滤器、 监听器14. 反射、注解、泛型15. 综合案例练习

8

第八部分:AJAX1. Ajax技术背景2. Ajax技术的理解3. XMLHttpRequest使用步骤4. XMLHttpRequest GET/POST的区别5. 同步请求&异步请求6. 同步请求&异步请求的区别7. Ajax获取不同的返回值类型8. Ajax使用原生JavaScript和Jquery的区别9. Ajax响应状态处理10. JSON语法11. Java JSON 解析12. Java JSON 生成13. Java JSON 第三方工具快速解析14. JavaScript JSON转换15. Jquery JSON转换

9

第九部分:jQuery1. jQuery介绍2. jQuery版本介绍3. jQuery对象和原生js对象介绍4. jQuery对象和原生js对象互相转化5. jQuery快速入门6. jQuery语法详解7. jQuery核心函数8. jQuery onload处理9. jQuery选择器10. jQuery 文档处理11. jQuery事件12. jQuery遍历操作13. jQuery自定义函数14. jQuery动画效果15. jQueryAJAX操作

10

第十部分:Bootstrap1. Bootstrap介绍2. Bootstrap开发环境搭建3. Bootstrap的基本模板4. Bootstrap快速入门5. Bootstrap组成6. 栅格系统7. 利用栅格系统进行移动端页面适配8. Bootstrap全局Css样式9. Bootstrap修改原Css样式进行自定义10. Bootstrap的js组件11. Bootstrap的js组件样式修改12. 集成Bootstrapjs插件之导航条13. 集成Bootstrapjs插件之轮播图14. 集成Bootstrapjs插件之弹出框15. Bootstrap进行项目整合

Java框架课程

Java框架课程内容涉及:Maven、Hibernate、Spring、Spring MVC、MyBatis、WebService、SVN、Activiti。

第三阶段:Java框架
1

第一部分:Maven1. Maven环境搭建2. Maven构建项目3. Maven本地仓库配置4. Maven中央仓库配置5. Maven基本概念6. Maven基本命令介绍7. Maven于Eclipse整合8. Maven于Idea整合9. Maven创建web工程10. pom.xml、依赖管理11. 坐标、依赖、生命周期等12. Eclipse下的Maven使用13. Maven中 继承、聚合14. Maven构建SSH/SSM应用15. 自动部署、持续集成、持续部署

2

第二部分:Hibernate1. Hibernate框架介绍2. Hibernate于其他框架和DBUtil工具类对比3. ORM思想4. Hibernate5与JPA关系介绍5. Hibernate.cfg.xml配置6. hbm.xml映射文件详解7. 主键生成策略 PO对象三种状态分析与切换8. Hibernate5一级缓存分析与测试9. Hibernate5高级映射技术10. 一对多映射11. 多对多映射12. Hibernate5多表联合查询13. Hibernate5延迟加载14. Hibernate5加载策略15. 二级缓存

3

第三部分:Spring1. 框架原理介绍2. 框架环境搭建3. 快速入门4. 创建Bean的方式及实现原理5. Bean种类6. Bean生命周期7. Bean的作用域8. Bean的注值方式9. SpEL10. 整合Junit测试11. Web项目集成Spring12. 注解装配Bean13. AOP思想、原理解剖14. 传统方式实现AOP开发15. AspectJ介绍及实现AOP开发

4

第四部分:Spring MVC1. Spring MVC 概述2. 使用 @RequestMapping映射请求3. 请求处理方法签名概述4. 处理方法签名详细说明5. 使用 HttpMessageConverter6. 处理模型数据7. 数据绑定流程剖析8. 数据格式化9. 数据校验10. 视图和视图解析器11. 处理方法的数据绑定12. 视图和视图解析器13. 文件上传下载14. JSON处理15. 拦截器

5

第五部分:MyBatis1. MyBatis数据框架介绍2. MyBatis对比Hibernate框架3. MyBatis配置、查询数据4. MyBatis全局配置文件5. MyBatis全局配置文件元素详细介绍6. Mapper映射文件7. MyBatis两种开发方式8. MyBatis中别名配置9. MyBatis # 和 $ 拼接参数区别10. 关联查询,动态sql11. MyBatis缓存机制、整合ehcache12. MyBatis二级缓存处理13. MyBatis、Spring、SpringMVC整合14. 分页插件15. MyBatis逆向工程

6

第六部分:WebService1. WebService简介2. WebService主流框架3. SOAP协议4. WSDL讲解5. JAX-WS6. WebService与Spring整合7. JAXB8. JAX-RS9. WebService各种调用方式10. cxf的介绍11. cxf+jaxws基本12. cxf+jaxws+spring13. cxf+JAX-RS基本14. cxf+JAX-RS+spring15. 综合案例

7

第七部分:SVN1. SVN简介2. SVN和Git对比3. SVN服务器搭建4. SVN创建仓库5. SVN创建用户以及分配权限6. SVN签出、提交、更新7. Eclipse整合svn插件8. Idea整合svn插件9. 使用SVN更新提交10. SVN仓库分析11. SVN协同修改&冲突解决12. SVN代码整合注意事项13. SVN权限管理14. SVN数据回滚15. TortoiseSVN

8

第八部分:Activiti1. 工作流介绍2. 工作流引擎3. 工作流使用步骤4. BPMN2.0规范5. Activiti5框架表结构6. Activiti5核心组件&服务接口7. Activiti5插件安装&整合Spring8. 流程定义9. 流程实例、任务、历史10. 任务领取、流程变量11. 排他网关、并行网关12. 流程事件13. 流程控制14. 监听器15. 简单整合shiro

Java + 云数据课程

Java + 云数据课程主要涉及的内容包含:Linux、FastDFS、MySQL优化、Nginx反向代理、Quartz 作业调度、Redis 高性能(Key-Value)数据库、Shiro 安全(权限)框架、Lucene&Solr全文检索、Zookeeper 分布式系统、MyCAT 大数据集群、Dubbo实现分布式架构、ActiveMQ 消息队列、分布式事务和单点登录、分布式框架原理(采用视频资料教学)、基于SpringMVC的集成单元测试MockMVC、SpringBoot 快速构建JavaEE项目。

第四阶段:Java + 云数据
1

第一部分: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安装

2

第二部分:FastDFS1.FastDFS简介2.FastDFS单节点安装3.FastDFS Tracker和Storage节点操作4.FastDFS 配置Tracker服务器5.FastDFS 配置Storage服务器6.FastDFS JavaClient端 文件上传7.FastDFS JavaClient端 文件下载

3

第三部分:MySQL优化1.优化数据访问2.重构查询的方式3.查询缓存4.切分查询5.MySQL索引6.MySQL锁7.MySQL执行计划8.MySQL存储引擎9.Schema与数据类型优化

4

第四部分:Nginx反向代理1.Nginx反向代理介绍2.Nginx 下载和安装3.Nginx 编译和启动、访问4.在Linux下搭建Nginx集群5.在Windows搭建Nginx集群6.解决Session共享问题

5

第五部分:Quartz 作业调度1.Quartz作业调度简介2.Quartz作业调度执行以及持久性3.Quartz基本使用4.Quartz核心类讲解5.Quartz Trigger 触发器6.Quartz Job&JobDetail7.Quartz Calendars日历讲解8.JobListener监听器和TriggerListener监听器9.Spring整合Quartz

6

第六部分:Redis 高性能(Key-Value)数据库1.NoSQL 发展史简介2.Redis 简介3.Redis 安装以及调试4.Redis 常用指令5.Redis 高级使用(主从复制、哨兵模式、持久化机制)6.Jedis的基本使用7.SSM框架基于Redis实现缓存8.Redis 连接单机版9.Redis 连接单机版使用连接池10.封装和整合Spring11.Redis 集群搭建

7

第七部分:Shiro 安全(权限)框架1.Shiro功能简介2.Shiro框架介绍3.ShiroFilter工作原理4.Shiro 身份认证5.Shiro Realm以及Authenticator6.Shiro拦截器和Permissions(授权)7.Shiro 自定义拦截器8.Shiro Session会话9.Shiro RememberMe功能10.SSM集成Shiro综合权限菜单

8

第八部分:Lucene&Solr全文检索1.Lucene 搜索引擎介绍2.Lucene 中文分词器配置3.Lucene 索引的维护包括创建、删除、修改操作4.Lucene Query 各种查询方法5.Lucene 高亮显示6.Lucene Facet分面检索7.Solr简介8.Solr 安装和配置9.Solr 索引库管理10.什么是SolrCloud11.Solr集群的系统架构12.将搜索功能切换到集群版

9

第九部分:Zookeeper 分布式系统1.Zookeeper 简介2.Zookeeper 特点3.Zookeeper 安装和配置4.Zookeeper数据类型5.Zookeeper服务中操作6.Zookeeper Wacth触发器7.Zookeeper分布式应用

10

第十部分:MyCAT 大数据集群1.MyCat 简介2.MyCat的下载和安装3.MyCat分片配置4.MyCat分片使用和测试5.MyCat读写分离6.MyCat 实现从MySQL主从复制

11

第十一部分:Dubbo实现分布式架构1.Dubbo简介2.单一应用框架3.垂直应用框架4.分布式应用框架5.流动计算机架构6.Dubbo 能做什么7.Dubbo 实现原理8.Dubbo 分布式集群模型9.Dubbo管理控制台安装10.Dubbo 集成 SSM

12

第十二部分:ActiveMQ 消息队列1.ActiveMQ简介2.JMS简介3.MQ 消息中间件4.ActiveMQ 安装和使用5.ActiveMQ 消息过滤6.ActiveMQ 消息发布和订阅模式7.ActiveMQ消息持久化8.ActiveMQ与Spring 整合

13

第十三部分:分布式事务和单点登录1.阶段提交协议讲解2.使用消息队列来避免分布式事务3.如何可靠保存凭证4.业务与消息解耦方式5.如何解决消息重复投递的问题6.什么是单点登录7.单点登录技术的实现机制

14

第十四部分:分布式框架原理(采用视频资料教学)1.传统垂直mvc项目2.垂直架构的缺点3.RPC架构4.RPC架构的核心技术点5.RPC架构的问题6.SOA服务化架构7.框架设计原理8.框架性能、可靠性、功能9.协议栈(通信模型、协议消息定义、安全性设计)10.服务路由11.集群容错

15

第十五部分:基于SpringMVC的集成单元测试MockMVC1.Mock测试框架的介绍2.SpringMVC Mock 配置的步骤3.基于SpringMVC单元测试实战案例4.基于SpringMVC+JPA单元测试实战案例

16

第十六部分: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消息队列

推荐信息