‎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类 常见的面试题讲解与分析‎数据结构和算法‎数据结构的概述 线性表 顺序表 链表 栈和队列 树 二叉树 二叉查找树 二叉平衡树 红黑树‎图 冒泡排序 选择排序 递归 折半查找‎集合(容器)‎集合和数组的联系和区别 集合框架体系 ArrayList的使用和源码分析 集合中使用泛型 LinkedList的使用和源码分析‎HashSet的使用和源码分析 哈希表及其原理 TreeSet的使用和源码分析‎比较器Comparable和Comparator HashMap的使用和源码分‎析‎TreeMap的使用和源码分析 Iterator与ListIterator Collections工具类 旧集合类Vector、Hashtable 集合总结和选择依据‎泛型接口 泛型类 泛型方法‎IO流‎IO流的概念 IO流的分类及其原理分析 文件流FileInputStream、‎FileOutputStream‎缓冲流BufferedInputStream、BufferedOutputStream‎数据流DataInputStream、DataOutputStream 对象流ObjectInputStream、ObjectOutputStream 序列化和反序列‎化‎转换流InputStreamReader、OutputStreamWriter 打印流PrintWriter和‎PrintStream‎数组流ByteArrayOutputStream、ByteArrayInputStream 使用IO流复制文件夹‎多线程‎进程和线程 线程的创建与启动 创建线程的三种方式对比 线程的生命周期 线程控制 多线程的安全问题与解决办‎法‎线程的同步:同步代码块 线程的同步:同步方法 线程的同步:Lock锁 线程的死锁问题 线程通信‎Condition 线程的完整生命周期 线程池ThreadPoolExecutor ForkJoin框架 ThreadLocal类‎网络编程‎计算机网络基础知识 网络通信协议 OSI参考模型 TCP/IP参考模型 数据的封装与拆封原理解析 TCP协议 UDP协‎议‎IP地址和端口号 URL和Socket 使用TCP编程实现登录功能 使用UDP编程实现客服系统 使用TCP编程实现上传文‎件‎集合提升训练‎手写ArrayList 手写单链表 手写LinkedList 手写HashMap 手写HashSet 最新并发集合类‎多线程提升训练‎生产者消费者模式扩展 Lock锁和Condition ReadWriteLock ‎BlockingQueue‎volatile关键字 多线程题目练习 JDK新特征 面试题讲‎解‎③ 数据库阶段‎MySQL入门‎MySQL基础‎数据库基础知识 MySQL基础知识 MySQL8新特征 安装和卸载MySQL8 使用navicat访问数据库 SQL语言入门‎创建数据库表 DML 修改删除数据库表 表的完整性约束 DML扩展‎MySQL 查询语句‎基本select查询 where子句 函数 group by having SQL99-内连接查询 SQL99-外连接查询 SQL99-自连接查‎询‎SQL92-连接查询 不相关子查询 相关子查询 分页查‎询‎oracle入门‎Oracle入门 Oracle的安装和卸载 Oracle目录介绍 Oracle的启动与关闭 Oracle自带客户端工具SQL Plus‎PL SQL Developer工具介绍‎Oracle的表空间 Oracle创建用户 Oracle的权限分配 Oracle的链接配置 Oracle配置监听 Oracle中的数据类型 Oracle创建表‎数据库中的约束 表关系-一对多关系 表关系-一对一关系 表关系-多对多关系‎数据库表‎数据库相关概念 MySQL与Oracle的区别 创建数据库 选择数据库 创建表 删除表 使用DDL语言修改表‎创建表时指定约束 修改表完成约束的添加与删除 向表中添加数据‎DQL‎编写基本SELECT语句 SELECT语句中的算术表达式 定义空值 定义列别名 连字运算符 文字字符串‎去除重复行 基本select语句小节练习‎DML‎数据操纵语言(DML)INSERT的使用 插入带空值的行 插入日期格式的数据 从另一个表中复制行 在INSERT中使用默认值‎修改表中的数据 从表中删除数据‎DCL‎DDL‎单表查询‎多表查询-内连接查询 多表查询-外连接查询 多表查询-子查询‎视图‎什么是视图 创建简单视图 创建复杂视图 视图中 DML 操作的执行规则 删除视图 什么是内建视图 使用内建视图实现TOP-N分析‎事务‎什么是事务 事务控制语言(TCL) 数据库定义语言(DDL)创建表 使用查询创建表 修改表信息ALTER TABLE 修改表名与删除表‎定义约束原则 定义非空约束 定义唯一性约束 定义主键约束 定义外键约束 定义检查约束 禁用与启用约束‎索引‎什么是索引 索引的使用 创建索引(单行索引,复合索引,函数索引)‎存储过程‎④ JDBC和Mybatis‎JDBC及其案例‎JDBC概述 使用JDBC完成添加/更新/删除操作 使用JDBC完成查询操作 JDBC常用接口 使用PreparedStatement‎使用事务完成银行转账 提取DBUtil工具类 开发员工管理系统‎使用properties读取属性文件‎使用Properties读写属性文件‎log4j‎日志框架log4j‎连接池‎反射技术‎Java反射机制的研究与应用 反射的原理分析 开启反射的源头Class 获取Class实例的几种方式比较‎从Class中获取类的结构信息 Constructor Field ‎Method‎使用反射模拟ORM框架‎使用反射突破泛型的限制 使用反射读取泛型 使用反射获取数组元素类型 使用反射模拟MyBatis的select() 注解的作用‎内置注解 元注解 自定义注解 使用反射读取注‎解‎三大范式‎数据库设计范式入门 第一范式 第二范式 第三范式 数据库设计范式总结‎UML建模‎认识UML 类的六种关系 类图 用例图 时序图 业务流程‎图‎手写web服务器案例‎设计模式‎设计模式入门 面向对象设计七大原则 简单工厂模式 工厂方法模式 单例模式 原型模式 装饰模式 适配器模式 外观模式‎Mybatis‎⑤ web前端‎HTML5‎互联网三大基石 HTML 入门 基本标签 HTML中body中的标签 超链接标签 图片标签 表格标签 表单标签‎iframe Frameset 层div 标签 HTML5 介绍 HTML5增强表单标签 HTML5新增结构标签‎HTML5音频视频标签 HTML5绘图和多媒体‎CSS3‎CSS入门 引入CSS样式 CSS选择器 CSS常用属性 css中的定位 盒子模型 CSS3新增选择器 CSS3新增属性 案例:制作购物车页面‎Bootstrap‎BootStrap概述 BootStrap栅格系统 BootStrap常用全局CSS样式 常用组件 常用JavaScript插件‎VUE‎vsCode和插件安装 webpack介绍 Vue项目创建 Vue模板语法 Vue条件渲染 Vue列表渲染 Vue事件处理 Vue计算属‎性‎Vue Class与Style Vue表单处理 Vue组件 Vue组件生命周期 Vue 路由配置 Vue Axios网络请求 Vue跨域处理‎Vue Element Mock.js‎jQuery ‎jQuery简介及快速入门 jQuery入口函数 jQuery对象与DOM对象互相转换 基本选择器 属性选择器 位置选择器‎表单选择器 内容选择器‎jQuery事件 jQuery动画效果 DOM操作-操作文本 DOM操作-操作属性 DOM操作-操作元素‎直接操作CSS样式 操作CSS类样式 购物车案例 表单验证 正则表达式‎JavaScript‎JavaScript概述与特点 JS基础语法 函数 数组 Math对象 String对象 Date对象 事件event‎浏览器开发者工具 console DOM和BOM window location navigator history 认识DOM DOM获取元‎素‎⑥ JavaEE‎Tomcat与HTTP‎web开发概述 B/S和C/S架构简介 HTTP协议 HTTP请求头和响应头 Tomcat安装使用 Tomcat目录结‎构‎Servlet基础