java软件工程的成长之路(java学习路线)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16055765/article/details/83579124

第一阶段

JavaSE编程基础

DOS常用命令
安装JDK、设置环境变量
DOS系统编译、执行Java程序
Java的注释
标识符、标识符的命名规范
Java 关键字
Java的数据类型
变量的定义及初始化
Java的运算符
表达式
转义字符
运算符的优先级
类型转换
Java分支if...else
多重if、嵌套if
Java switch
Switch vs if
Java循环 for、while 、doWhile
循环的嵌套
break、continue、return
方法的定义
方法的形参和实参
无返回值的方法
有返回值的方法
方法的重载

Java数组

Java 数组的定义
数组的静态赋值
数组的动态赋值
数组单个元素的访问
数组的遍历访问
数组的增强for循环
数组的排序
数组的顺序查找
数组的二分法查找
命令行参数args的使用
可变参数的应用
Arrays工具类的使用
二维数组的使用

Java面向对象

面向对象的分析与设计
面向对象与面向过程的区别
Java与面向对象
类的定义
对象的定义
类中成员变量及方法的定义
构造方法的定义和调用
构造方法的重载
面向对象的封装特性
this调用属性、方法、构造方法
局部变量和成员变量的作用域问题
static静态属性、方法、代码块
工具类的概念及工具类的制作
super关键字的使用及理解
Java中访问权限控制机制
继承中构造方法的细节
方法的重写
equals及toString方法的正确理解
Java中的包机制
抽象类,接口,多态
对象的转型
final修饰类、属性、方法
抽象类,接口
多态机制
内部类
通过内部类制作性能检测工具
Java的内存分析

常用基础类

常用数据类型的包装类
String、StringBuffer、StringBuilder
Date的使用
SimpleDataFormate对日期和字符串之间的转换处理
Calendar日历类的使用
Math常用方法
Random类
Runtime类
System 类
java8新特性

集合

集合框架体系介绍
集合框架与数组的对比
框架之Collection接口
集合框架之List接口
ArrayList和LinkedList的使用
深入源码探究ArrayList和LinkedList的工作原理
迭代器的工作原理
迭代器的使用
集合框架之Set
HashSet和TreeSet的使用
深入源码探究HashSet和TreeSet的工作原理
HashMap和TreeMap的使用
分析Map和Set的之间的关系
Collections工具类

异常处理

Java的异常体系
异常的概念及分类
异常的处理方式
异常设计原则
自定义异常

线程和I/O

I/O
NIO
文件操作
多线程
线程池
同步
线程调度
多线程下载
网络http、socket
基于HTTP协议访问网络资源、XML解析
文件的下载
ThreadLocal

项目

FTP服务器
多人聊天服务器

第二阶段

HTML5

HTML的作用
全局标签
绝对路径与相对路径
常见标签
字符集
表单标签
布局指定的网页

CSS3

css声明类型
常见的各种属性
圆角属性:border-radius的使用
阴影属性:box-shadow的用法
背景属性扩展:多背景应用
新的颜色表示方式:HSLA色轮模式
浮动
完成自己的初级课页面实战

Javascript

JavaScript基本语法
JavaScript数据类型
JavaScript对象和常用对象
history对象
location对象
bom对象
表单对象
DOM对象
window对象
常用事件
选项卡、幻灯片、贪吃蛇、瀑布流各种特效

MySQL使用

Mysql数据库
MySql命令行客户端的使用
MySql图形化客户端的使用
SQL语句介绍
DDL
DML
DQL
多表的联合查询
子查询
排序、聚合、分组

JDBC连接池

JDBC的介绍
采用JDBC实现CRUD
采用PrepareStatement防止SQL注入,提高安全性

Servlet

Tomcat与eclipse的集成开发
什么是Servlet
Servlet接收客户端请求信息
Servlet响应客户端信息
Servlet的生命周期
什么是JSP
JSP的内置对象
透析JSP的本质
JSTL+EL
MVC介绍
分层的重要性
Mysql的事务特性
MySql的事务实现
Session的使用
Cookie的使用
实现系统的安全控制
DBCP连接池的使用
C3P0连接池的使用
DBUils
实现用户的自动登录
文件的上传
文件的下载
过滤器解决编码问题
过滤器解决安全验证问题
监听器
反射、注解、泛型

MVC

设计模式
ORM原理
自定义框架

ajax

Ajax的工作原理
JSON解析
Ajax 数据格式(XML格式、HTML格式、JSON格式、各种格式对比)
使用 jQuery 实现 Ajax(load()方法、$.get()方法、$.post()方法、序列化、Ajax应用)
聊天室小实例

jQuery

jQuery选择器
jQuery的常用事件
事件冒泡
事件委派
jQuery中的动化
模拟操作
jQuery综合实例

BootStrap

响应式设计
BootStrap安装
Bootstrap 组件
进度条和列表组件
BootStrap综合实例

项目

讲解项目开发流程
项目简介
项目功能演示
项目功能实现分析
数据库设计分析
项目架构设计分析
实现网站首页的商品展示
实现商品详情页面
实现购物车功能
实现我的订单管理
项目验收

第三阶段、云计算体系

框架和Maven

为什么用框架
流行的框架
Maven概述
使用Maven的优势
maven的一次构建
依赖管理
安装配置介绍.使用Maven核心概念介绍( 坐标、依赖、仓库、插件、生命周期等)
Maven与第三方Elicpse整合及如何在Eclipse中使用Maven、Maven私服Nexus的安装使用
如何使用Maven构建Web应用
使用Maven构建SSH应用
使用Maven进行多模块和继承使用

Hibernate5

ORM思想
hibernate5与JPA关系介绍
hibernate.cfg.xml配置
hbm.xml映射文件详解
主键生成策略 PO对象三种状态分析与切换
hibernate5一级缓存分析与测试
Hibernate5高级映射技术
Hibernate5多表联合查询
Hibernate5的性能优化
hibernate4及hibernate3区别及新特性介绍

JPA

JPA 概述
JPA 注解
JPA 相关 API
JPA 映射
JPQL
二级缓存
Spring 整合 JPA

Struts2

Struts2框架介绍
工作原理及架构分析
快速掌握Struts2开发模式
Struts.xml详解
通配符的配置模式
ActionContext及ServletActionContext使用
类型自动转换机制
多模块的开发模式
单文件上传
多文件上传
文件下载
拦截器的介绍
默认拦截器
自定义拦截器
Token机制

Spring4

架原理介绍
框架环境搭建
快速入门
创建Bean的方式及实现原理
Bean种类
Bean生命周期
Bean的作用域
Bean的注值方式
SpEL
整合Junit测试
Web项目集成spring
注解装配Bean
AOP思想
AOP原理解剖
传统方式实现AOP开发
AspectJ介绍及实现AOP开发

SpringMVC

Spring MVC 概述
使用 @RequestMapping映射请求
请求处理方法签名概述
处理方法签名详细说明
使用 HttpMessageConverter
处理模型数据
数据绑定流程剖析
数据转换
数据格式化
数据校验
视图和视图解析器
处理方法的数据绑定

博客、论坛项目整合和富文本编辑器

博客或论坛项目在面试中的意义
如何使用Maven构建框架开始写项目
业务流程
富文本编辑器整合
前后台的业务实现

MyBatis

安装和配置MyBatis
使用映射语句
执行非查询语句
使用高级查询技术
事务
使用动态SQL
使用高速缓存提高性能
MyBatis数据访问对象
DAO使用进阶
项目整合
使用SSM整合博客或论坛项目
体现MyBatis的优越性
使用对比

SpringData

Spring Data 概述
Repository
CrudRepository
PagingAndSortingRepository
JpaRepository
条件查询
使用@Query自定义查询
@Query 与 @Modifying 执行更新操作
索引参数与命名参数
用@Query来指定本地查询
为某一个 Repository 上添加自定义方法
所有的 Repository 都添加自实现的方法

Redis、MongoDB(二选一)

redis安装
redis数据类型
redis操作
java操作redis
redis写个带分页好友关系处理系统
Linux平台安装MongDB
MongDB插入、更新、删除、查询文档、MongoDB条件操作符
MongoDB排序、索引、聚合、复制、分片
MongoDB与java、MongoDB数据库引用
java写一个MongoDB的操作

SpringSecurity(二选一)

加强URL访问安全
登录到Web应用
验证用户
加强方法调用的安全
做出访问控制决策
处理视图中的安全性
处理领域对象安全性

Shiro(二选一)

权限基础
Shiro 概述
Shiro 配置基础
Permissions
Authentication
Authorization
Role
编程授权
Realm
Realms的认证实现
Realms的授权实现
Spring 集成 Shiro
Spring 集成 Shiro
基于注解的授权

WebService

WebService介绍
WebService的应用场景
Rest
http协议
RestFul规范
postman使用
spring 实现 RestFul

第四阶段

亿级并发架构演进

架构演进特点大并发架构微服务

Linux基础

文件处理命令
权限管理命令
帮助命令
文件搜索命令
压缩解压命令
命令使用技巧
VIM使用
软件包管理
用户和用户组管理
服务和进程
基本网络设置
云服务器搭建和使用

搭建tomcat环境

在云服务器下搭建tomcat和MySQL服务器

MySQL主从

MySQL主从和binlog的配置

nginx

nginx服务器的优势
nginx服务器配置
什么是反向代理
什么是负载均衡
负载均衡算法构
建数十台服务器的负载均衡环境

SSL证书配置

为什么使用SSL证书
RSA算法、DES算法
Let's Encrypt证书申请证书续期

keepalived双活

不间断服务的重要性
keepalived原理
OSI七层模型和TCP/IP四层模型
配置keepalived服务

MySQL高级

ACID和MySQL的实现原理
SQL优化技巧
MySQL分区
Explain分析

memcached

MySQL引擎
memcached优势
memcached与Java配合使用
用memcached分布式处理

elasticsearch

为什么使用全文索引
elasticsearch与solr的对比
使用分布式实时索引elasticsearch写一个自己的搜索引擎

ActiveMQ队列

队列应用场景
常用的队列服务器
队列服务器的架设压力测试
Java中使用队列服务器

MyCat分库分表技术

MyCat介绍
分库分开技术讲解
其他的数据库中间件配置与自动分表

Rpc和Dubbo

分布式服务框架简介
Dubbo主要核心部件
Dubbo-RPC基本功能
Dubbo-高级功能
远程方法调用
软负载均衡及容错机制
linux 上 Dubbo 的部署

svn & git & Jenkins持续集成

svn介绍
svn服务器和客户搭建配置
如何使用svn多人一起进行
冲突解决
git常用命令
git的web hooks
为什么要使用持续集成
持续集成与git 的web hooks配使使用

echarts图表插件

图表介绍和选择什么样的图表
5分钟快速上手
常用API和模块移动端自适应

UML和常用工具的使用

UML的作用
UML常用工具的使用
UML的3个要素
UML的3个基本构造块
事物是对模型中最具有代表性的成分的抽象
5种图定义UML的应用领域

Hadoop

大数据的应用场景
Hadoop架设
Hadoop单机配置
Hadoop伪分布式环境
Hadoop集群环境
HDFS的使用和配置分治思想
分治思想处理数据
MadReduce原理
MapReduce架设和使用云服务器上提供的大数据工具

亿人同时在线的抢票系统

大并发系统的应用
大并发系统的分析
大并发系统的设计
大并发系统的开发

综合项目实战

15个大型项目
选择各种项目特点分析
项目设计
项目分组
选择框架
后台搭建
使用Maven构建项目
项目开发
压力测试
webhooks项目自动部署
面试中常问到的项目问题
项目bug收集和解决
阿里云、腾讯云项目上线项目验收项目答辩

猜你喜欢

转载自blog.csdn.net/qq_16055765/article/details/83579124