Java课程大纲
尚新途
① 预科阶段
程序员素养
为什么需要学编程,什么样的人可以做程序员?
职业规划
为自己做一个5年的职业规划和奋斗目标 本行不行,我
可以转行到IT开发吗? 流行的编程语言,应该怎么选择
程序员不是青春饭,程序员迈向百万年薪之路
Java技术体系
基础学员学习JAVA 的秘诀? 十分钟秒懂编程,程序
就是现实逻辑的表达 表格思想_理解数据库存储数据
表格思想_理解JAVA 类和对象 表格思想_理解XML 文档
简历
写出一份吸引面试官的简历(六大要素)
笔试和面试要点
面试前,三大步让你秒杀90%竞争者 面试中,秒吸引
面试官的十大要点 技术面试中,不该问的4个问题
职场软实力
职场成功的核武器_7A+软实力理论
② JavaSE
变量、数据类型、运算符
二进制 二进制和十进制的转化 注释_单行注释_多行注
释_文档注释_注释内容和字节码的关系 标识符_关键字_
驼峰原则
变量的本质_内存画图_变量声明和初始化 变量的分类
和作用域(局部变量、成员变量、静态变量) 常量和
final 基本数据类型介绍
整型变量和整型常量 浮点型_float_double
char字符型_转义字符 boolean布尔型_if语句使用要点_
布尔型占用空间问题 运算符介绍
算术运算符(二元、自增、自减) 赋值和赋值扩展运算符
关系运算符详解 逻辑运算符_短路运算详解 位运算
符详解 字符串连接符 条件运算符(三元运算符) 运
算符优先级问题
自动类型转换详解 强制类型转换 基本类型转换常见
错误_溢出_L问题 使用Scanner获得键盘的输入
控制语句
控制语句和现实逻辑对应 if单选择结构 if_else双选择
结构 if_elseif_else多选择结构 switch语句_IDEA更换
主题
循环_while 循环_for循环_dowhile_ 嵌套循环
break和continue语句_标签_控制语句底层原理 写一个
年薪计算器_百度查问题的秘诀(相当重要) 个人所得税
计算器软件
方法核心详解_天才思维模型教你高手学习思维模式
方法的重载 递归结构讲解_递归头_递归体
面向对象编程
基础
面向过程和面向对象区别 类和对象的概述 类的属性和
方法 创建对象内存分析 构造方法(Construtor)及其重
载 对象类型的参数传递
this关键字详解 static关键字详解 局部代码块、构
造代码块和静态代码块 package和import详解
JavaDoc生成API文档
进阶
面向对象的三大特性 面向对象之--封装(
Encapsulation) 访问权限修饰符 面向对象之--继
承(Inheritance) Object类
方法重写Override super关键字详解 重写equals()
和toString() 继承中对象创建的内存分析 面向对象
之--多态(Polymorphism)
向上转型 向下转型 instanceof运算符 编译时和
运行时详解 final修饰符 抽象类和抽象方法(
abstract) 接口的定义和实现
JDK8的接口新特性 接口应用:内部比较器
Comparable 内部类详解 Java的内存管理与垃圾回
收
异常机制
异常的概述 异常的执行过程分析 try-catch-finally
捕捉异常 throw抛出异常
throws声明异常 异常继承体系 运行时异常和编译
异常 自定义异常
Java常用类
Wrapper包装类 自动装箱和自动拆箱 包装类的源码
分析 String类的使用与内存原理 String类的源码分
析 StringBuffer
StringBuilder 字符串处理类性能分析 Date类
System类 DateFormat类 Calendar类 Math类
BigInteger类和BigDecimal类 Random类 枚举类
型 File类 常见的面试题讲解与分析
集合(容器)
泛型接口 泛型类 泛型方法 泛型通配符 泛型通
配符上下限定
容器简介 容器接口介绍 Collection接口介绍
List接口介绍 ArrayList的使用 ArrayList的并集、交
集、差集 ArrayList底层源码分析 Vector的使用 Vector
底层源码分析 LinkedList的使用 LinkedList底层源码分
析
Set接口介绍 HashSet的使用 HashSet存储特征分析
HashSet底层源码分析 TreeSet的使用 TreeSet的比较
规则定义 TreeSet底层源码分析
比较器Comparable和Comparator
Map接口介绍 HashMap的使用 HashMap底层源码
分析 TreeMap的使用TreeMap底层源码分析
Iterator迭代器介绍 Iterator迭代器的使用 遍历集合方
法总结 Collections工具类的使用
IO流
IO流的概念 IO流的分类及其原理分析 文件流
FileInputStream、FileOutputStream
缓冲流BufferedInputStream、BufferedOutputStream
数据流DataInputStream、DataOutputStream 对象
流ObjectInputStream、ObjectOutputStream 序列
化和反序列化
转换流InputStreamReader、OutputStreamWriter
打印流PrintWriter和PrintStream
使用IO流复制文件夹
ApacheIO包的使用
多线程
进程和线程 线程的创建与启动 创建线程执行流
程 线程的生命周期 线程的使用 多线程的安全问
题与解决办法
线程的同步:同步代码块 线程的同步:同步方
法 线程的死锁问题 生产者与消费者模式
网络编程
计算机网络基础知识 网络通信协议 OSI参考模
型 TCP/IP参考模型 数据的封装与拆封原理解析
TCP协议 UDP协议 InetAddress的使用
InetSocketAddress的使用
IP地址和端口号 URL和Socket 基于TCP协议的单向
通信 基于TCP协议的双向通信 基于TCP协议的点对点
聊天应用 基于TCP协议的一对多聊天应用 基于UDP协
议传递基本类型数据 基于UDP传递对象类型数据
反射
反射介绍 创建对象过程分析 获取Class对象的三种方
式 通过反射获取构造方法 通过反射获取成员变量 通过
反射获取方法 如何提升反射效率
数据结构和算法
数据结构的概述 手写单向链表 手写双向链表 手
写树与二叉树排序
javaSE提升训练
飞机大战小项目训练
智能电话本项目实战
③ 数据库阶段
MySQL入门
MySQL基础
数据库基础知识 Mysql安装和卸载 使用navicat
访问数据库 SQL语言入门 MySQL中的数据类型
DQL
编写基本select语句 where子句 select语句中的算术表
达式 定义空值 定义列别名 连字运算符 文字
字符串
去除重复行 基本select语句小节练习
多表查询
单行子查询 多行子查询 等值连接查询 非等值连接查
询 SQL99-内连接查询 SQL99-外连接查询 SQL99-
自连接查询
MySQL函数使用
单行函数 多行函数 group by子句 having子句
DDL
创建数据库 创建表 删除表
修改表
修改表名 修改列名 修改列类类型 添加新列 删除指
定列
DML
数据操纵语言(DML)INSERT的使用 添加数据(
INSERT) 默认值处理(DEFAULT) 更新数据(UPDATE)
删除数据(DELETE)
DCL
MySQL权限管理 通过GRANT子句分配权限 刷新权限
约束
添加删除主键约束 添加删除外键约束 添加删除唯一性
约束 添加删除非空约束
事务
什么是事务 事务控制语言(TCL) 事务的使用 事务并
发问题与隔离级别
定义约束原则 定义非空约束 定义唯一性约束 定义
主键约束 定义外键约束 定义检查约束 禁用与启用
约束
索引
什么是索引 索引的使用 创建索引(普通索引,唯一索
引,主键索引,组合索引)
④ JDBC
数据库范式与表关系
数据库设计范式简介 第一范式 第二范式 第三范
式 数据库设计范式总结
数据库表关系简介 一对多关系 一对一关系 多对多关系
JDBC的基本使用
JDBC概述 获取连接 使用properties读取属性文件
Statement的使用 PreparedStatement的使用
JDBC进阶
JDBC批量添加数据 Bolb类型的使用 Result的使用
ORM编程思想 模糊查询 动态条件查询 分页查询
SQL注入
什么是SQL注入 SQL注入案例演示 解决SQL注入
JDBC事务处理
事务简介 JDBC事务处理实现
连接池
Druid的使用 基于Druid封装工具类
应用程序分层
应用程序分层简介 应用程序分层实现 封装通用的
BaseDAO
封装通用的DML操作 封装通用的查询操作
对象关联查询
对象关联关系简介 创建对象关联关系 使用对象关联关
系存放查询数据
⑤ web前端
HTML5
互联网三大基石 HTML 入门 VSCode工具的使用
基本标签 HTML中body中的标签 超链接标签 图
片标签 表格标签 表单标签 有序列表 无序列表
HTML5新增标签
CSS3
CSS入门 引入CSS样式 CSS选择器 CSS常用属性
CSS中的定位 盒子模型 CSS3新特性 媒体查询 雪
碧图 字体图标
JavaScript
JavaScript基础
JS简介 JS语句标识符 JS变量类型 JS运算符 JS条件语
句 JS循环 字符串处理 操作数组 JS函数的使用
JavaScript进阶
Document对象的使用 Element对象的使用 JS事件处
理 JS定时器的使用 JS的防抖与节流
jQuery
jQuery简介 选择器的使用 jQuery的DOM操作
jQuery事件处理 jQuery遍历
VUE3
ECMAScript6
ES6简介 Nodejs环境安装 Babel转码器 Let命令
Const命令 对象结构赋值 字符串处理 操作数组 函数
扩展 Promise对象 Async函数 Class使用 Module
使用
VUE3
VUE简介 VUE开发前端的准备 模板语法 条件渲染
列表渲染 事件处理 表单输入绑定 组件使用 Axios
使用 VUE引入路由配置 路由处理 VUE状态管理
VUE3新特性
⑥ JavaEE
计算机网络协议
计算机协议介绍 TCP、IP协议群 TCP协议传输特点
数据包处理流程 HTTP协议介绍 HTTP协议特点
HTTP协议中的请求行、请求头、请求体 HTTP协议的请
求方式 HTTP协议的响应行、响应头、响应体 MIME
类型
XML
XML介绍 XML基本语法 XML组成部分 DTD约束
Schema约束 Jsoup解析器的使用 XML爬虫案例
Tomcat
Tomcat简介 Tomcat下载与安装 Tomcat目录结
构 Tomcat配置文件说明 配置
TomcatManager Tomcat工作原理 Tomcat架构说
明 Tomcat组件讲解 配置虚拟主机
Servlet基础
Servlet简介 手动编写第一个Servlet案例 Servlet继承
结构 Servlet生命周期 Servlet处理请求原理
Servlet的作用 在Idea中编写Servlet Servlet处理请
求 Servlet产生响应
HttpServletRequest对象的使用 ServletContext对象
的使用 ServletConfig对象的使用 Cookie对象的使
用 HttpSession对象的使用 Filter对象的使用
Listener对象的使用
文件上传 文件下载 自启动Servlet Servlet线程安全
问题 Servlet的url-pattern配置 Servlet的多URL映
射方式 基于注解开发Servlet
JSP基本语法
JSP技术介绍 JSP运行原理 JSP声明标签 JSP脚本标
签 JSP赋值标签 JSP指令标签 JSP四大作用域对象
JSTL标签库 EL表达式使用 MVC模式
Ajax
Ajax简介 XMLHttpReques对象的使用 Ajax运行原理
剖析 $.ajax()的使用 $.get()的使用 $.post()的使
用 $.getJSON()的使用 serialize()方法的使用