java学习路线图
2020-09-01 09:54:43 0 举报
AI智能生成
Java学习路线导图
作者其他创作
大纲/内容
阶段一
HTML
了解HTML语言
掌握HTML整体结构
字体标签
表单元素
CSS
了解CSS
五大CSS选择器
CSS导入方式
JavaScript
了解JavaScript
掌握JavaScript基本语法
JavaScript内部对象
JavaScript的DOM
自定义函数
全局函数
事件处理
jQuery
了解jQuery
jQuery选择器
jQuery操作DOM
jQuery动画和事件
掌握jQuery与Ajax的应用
了解jQuery插件
XML解析
了解XML的概念和基本作用
XML基本语法
XML约束模式
Bootstrap(HTML+CSS+JavaScript响应式布局框架)
阶段二
开发工具
IntelliJ IDEA2020.2(不要使用Eclipse)
掌握一些常用快捷键
JavaSE
java开发环境搭建
java基本语言元素
static、final、finally、finaliza...
java的流程控制
if if else
for
switch
while
do-while
数组
java面向对象
面向对象的思想
类与对象
构造方法
封装
多态
抽象类
接口
java常用类
Object
StringBuffer、StringBuilder
String
Math
Date
异常处理(throwable)
理解异常的基本概念
掌握异常捕获与处理的基本结构
掌握throws和throw
自定义异常
错误
OutofMemoryError
StackOverflowError
集合框架
掌握List
ArrayList\LinkList\Vector
Set
HashSet元素无序且不重复(底层就是使用的Map)
Map
HashMap底层实现原理
数据结构
扩容机制
HashMap与Hashtable区别
掌握并应用泛型及其枚举
Java IO流
输入流
输出流
字符流
字节流
NIO
拔高知识但是必须知道
Java多线程
线程创建的几种方式
线程的生命周期(六大状态)
常用方法及其区别
wait() 与sleep()
ThreadLocal
interrupt中断等等
线程通信
wait / notify
- 虚假唤醒(while)2.假死(notifyAll)
线程池
使用原理
ThreadPoolExcutor
七大参数
四大队列
四大拒绝策略
线程同步&互斥、锁机制
线程安全性问题
多线程环境
存在共享资源
有存储的状态
活跃性问题(死锁、锁死、活锁、饥饿)
内部锁(synchronized)、显示锁(Lock)
synchronized锁升级过程(无锁-偏向锁-轻量级锁-重量级锁)
自旋锁、可重入锁、读写锁、公平锁(ReentantLock可以是公平或者非公平)、非公平锁
AQS同步器实现机制
Java线程的内存模型JMM
理解线程的三大特性
原子性
可见性
有序性
volatile关键字原理
CPU缓存一致性实现原理(MESI协议)
java网络编程
了解TCP UDP
掌握基于Socket(套接字)基本使用
简单的Client/Server的程序设计
java解析XML文件
dom4j
sax
jaxp
java反射机制
java反射机制的概念与作用
反射的用途
掌握Class对象的使用
MYSQL数据库
MYSQL的介绍和安装
数据库的操作
表级别的操作
单表多表查询
运算符
order by 、group by 、having 、子查询
自然连接 等值连接 外连接
mysql约束
非空
唯一(自增)
主外键
mysql导入导出
多表联查
内连接(inner join)
左连接(left outer join)
右连接(right outer join)
全连接(full outer join)
高级篇
事务
四大特性
索引
是一种提升查询速度并排好序的数据结构
底层结构(B+树)与 B 树的区别
简单的sql优化
处理慢查询sql
锁
表锁(MyISAM)、行锁(InnoDB)
读写锁(读读可以、读写互斥、写写互斥)
JDBC
了解JDBC概念
掌握JDBC核心接口和类
熟悉JDBC连接数据库的实现步骤
处理结果集
批处理
防止SQL注入问题
Statement
PreparedStatement(预编译)
javaWeb
Http协议
Tomcat服务器
安装与启动
tomcat体系结构
掌握tomcat的配置
熟练进行WEB工程的部署
JSP/Servlet
了解Servlet的生命周期
了解Servlet常用接口和类
请求协议包(request)、响应协议包(response)
配置Servlet
了解JSP的概念
JSP常用9个内置对象
EL和JSTL
自定义标签
监听器
过滤器
JSP分页
JSP上传文件
AJAX
了解Ajax概念
JSON
JSON语法格式
JS中使用JSON
Java对象转JSON
XMLHttpRequest对象
使用jQuery实现AJAX
AJAX获取JSON数据
项目实战
项目名称:XXX项目
人数:2人以上
前端:HTML+CSS+jQuery+Boostrap
后端:JSP+Servlet+JDBC
数据库:MYsql
开发工具:IntelliJ IDEA
版本管理工具SVN
了解SVN
提交和更新
解决冲突
IDEA安装SVN插件
阶段三
Maven
Maven简介
编译 打包 构建
依赖管理
集成IDEA
Maven中构建Web工程
Mybatis
Mybatis简介
使用Mybatis实现基本增加、删除、修改、查询
注解方式实现
动态SQL
多种参数传递
一对一
一对多
多对多
spring5.0
了解spring
IOC思想
di依赖注入
bean生命周期(是否安全?)
自动装配
集合注入
AOP概念
声明式事务处理
spring注解
SpringMvc
SpringMvc简介
HandlerMapping
RequestMapping
SpringMvc参数传递
返回页面数据
适配器
拦截器
视图和模型
上传文件
SPringMvc AJAX的使用
struts2和SpringMvc区别
项目实战三
项目名称:XXX项目
人数:2人以上
前端:HTML+CSS+jQuery+Boostrap
后端:Spring+SpringMvc+Mybatis
数据库:MYsql
开发工具:IDEA
版本管理工具SVN
项目构建:Maven
阶段四
Spring Boot框架、Spring Cloud
JVM
三层划分
1、类加载
加载
链接
验证
准备(static、零值初始化)
解析(符号引用的转直接引用)
初始化(显示赋值)
双亲委派机制意义及其如何打破
2、运行时数据区
- 线程私有
Java虚拟机栈
程序计数器
本地方法栈
- 线程共享
堆空间
方法区
3、执行引擎、本地方法接口
垃圾回收
垃圾标记
引用技术算法(概念)
可达性分析算法(Java使用)
垃圾回收算法
标记-清除算法
复制算法
标记-整理算法
垃圾回收器
七大垃圾回收器
GC日志分析
JUC(并发编程)
简单的计算机底层原理
进程线程、线程上下文切换
逃逸分析、栈上分配
CAS底层实现原理(如何保证原子性)
ReentrantLock源码分析,公干锁,非公干锁,重入锁实现原理
JMM内存模型
8 大原子操作指令
HashMap底层原理详解与DK8红黑树
ConcurrentHashMap源码分析
Atomic原子类详解
12个原子类
阻塞队列BlockingQueue
Condition
await()、signal()、signalAll()
JDK8的新特性
Lambda表达式
Lambda六大语法
Lambda四大内置函数
函数式接口、方法引用
Stream
Stream核心概念和API的使用
Stream并行流和串行流
算法与数据结构
十大的排序算法
七大查找算法
五大常见算法
数据结构
线性表、顺序表
队列、栈、堆
树、二叉搜索树、平衡树、红黑树
实现原理及其用途
前中后序遍历
B树、B+树(数据库索引所用)
图
深度(广度)优先遍历
面试
拼命的刷面试题,刷算法题(LeetCode),看真实的面试视频
写一份高分的简历
一面:考察基础与编程技能
二面:基础加项目实战经验
三面四面:职业规范、HR软素质考察
一面:考察基础与编程技能
二面:基础加项目实战经验
三面四面:职业规范、HR软素质考察
学习网站
学习方法
拓展知识
WEBService
Servlet3.0
权限管理:Shiro
Git项目托管
UML
图片分离:jersey
jQuery图形报表
设计模式
软件架构设计原则
工厂模式(Factory)
单例模式(Singleton)
饿汉式
懒汉式
内部类
最安全的枚举形式
代理模式(proxy)
使用场景
委派模式(Delegate)
观察者模式(Observer)
策略模式(Strategy)
Linux操作系统
Linux服务器(CentOS7)
远程连接工具(XShell6)、远程传输工具(Xftp6)
Linux环境安装 JDk、Tomcat、Mysql、Redis
redis
5大基础数据类型
各大类型的应用场景
持久化
RDB
AOF
哨兵模式
缓存穿透
缓存雪崩
分库分表、主从复制、读写分离
集群搭建(配置文件)
0 条评论
下一页