CoerJava阶段
01.Java语言基础
- Java的前世今生
- java是一门编程语言,原名叫Oak。是sun公司的研发产品。后被Oracle公司收购,并改名为java。
- 诞生于1995年5月23
- 1998年12月 java2发布
- 2004年12月 java5发布
- Java特点
- JAVA的三大特性:面向对象,简单,跨平台
- 面向对象:使用计算机模拟现实世界,解决现实问题,贴近人类思维模式
- 简单:相对c,c++,c#,不易造成内存溢出、减少代码量、代码可读性强。
- 跨平台:操作系统、服务器、数据库。
- Java运行机制
- 第一个Java程序
- 环境变量
- package语句
- import语句
02.数据类型与运算符
- 编码规范
- 变量的概念
- 基础数据类型
- 类型转换与类型提升
- 基本运算符
- 位运算符
03.流程控制
- if条件分支结构
- switch_case结构
- 不确定循环
- for循环
- break_continue关键字
- 局部变量
- 案例:百钱买百鸡
- 案例:打印等腰三角形
04.函数
- 函数的定义
- 函数的参数
- 函数的返回值
- 函数的作用
- 函数的递归‘
05.数组
- 数组的基本概念
- 数组的创建于初始化
- 可变长参数
- 数组的扩充
- 数组引用的概念
- 二维数组
- 案例:杨辉三角形
06.经典算法
- 冒泡排序
- 选择排序
- JDK排序法
- 二分查找法
- 查重算法
- 桶排序法
- 快速排序法
- 案例:8皇后问题
07.面向对象基础
- 面向过程
- 生活中的对象
- 生活中的面向对象
- 对象和类
- 成员变量
- 成员方法
- 重载的语法
- 重载的作用
- 构造方法
- 对象的创建和访问
- 面向过程和面向对象
- 引用
- this关键字
08.面向对象的三大特性
- 封装
- 继承的概念
- 访问修饰符
- 组合聚合复用原则
- 方法的覆盖
- 对象的构造过程
- super引用
- 多态的语法
- 多态的意义
09.三大修饰符
- abstract语法
- abstract设计思想
- static属性
- 静态方法
- 静态代码块
- final语法
- 重载和覆盖
- 抽象类是否拥有对象
10.接口
- 接口的基础语法
- 接口和类的关系
- 多继承的复杂性
- 接口与多继承
- 接口的解耦合
- 接口的回回调
- 接口进阶
11.内部类
- 内部类概述
- 成员内部类
- 静态内部类
- 局部内部类
- 局部内部类访问外部类属性,为什么属性要加final
- 匿名内部类
12.Object类与包装类
- Object_toString方法
- Object_equals方法
- Object_finalize
- 利用标注实现覆盖语法检查
- 包装类
- 接口引用和类引用
13.字符串
- String的封装
- String的方法
- String不可变
- String累加
14.集合框架
- 集合的概念
- Collection
- List常用方法
- List的遍历
- 在JDK5中的集合遍历
- JDK8中的集合遍历
- List的实现类
- 集合中的泛型
- 泛型的多态
- 泛型的通配符
- 泛型方法
- 泛型类
- List的排序
- JDK8中对List的排序
- Set介绍
- HashSet中的哈希算法
- HashSet中的高级哈希算法
- Set的其他实现类
- Queue接口
- Map的基本特点和遍历
- JDK8中的Map遍历
- Map中的实现类
- 里氏代换原则
- 不同版本的ArrayList初始长度
15.异常处理
- 异常的概念和分类
- 异常的产生和传递
- 声明抛出的异常
- 捕获异常
- finally
- finally改变变量值
- 方法覆盖对抛出异常的要求
16.多线程
- 线程的概念和实现线程的方式
- Thread的基本状态
- 线程的等待状态
- 线程安全的问题
- 同步代码块
- 同步方法和死锁
- 等待-通知机制
- 生产者消费者
- 数字和字母的交替打印
- 线程池
- Callable和Future
- Lock对象
- Condition对象
- 深入比较ArrayList和Vector
- ReadWriteLock
- 高级的线程安全的集合
- BlockingQueue
- 集合接口和类的总结
- AtomicInteger
- int原子操作的加锁算法
- ForkJoin_RecursiveTask
- ForkJoin_RecursiveAction
- 利用ForkJoin计算数组最大值
- Semaphore
- CountDownLatch
- CyclicBarrier
17.IO编程
- IO流的概念和分类
- 字节输出流
- 字节输入流
- 用节点实现文件拷贝
- 数据过滤流
- 缓冲流
- 用缓冲流实现文件拷贝
- PrinstStream
- 对象序列化
- 对象序列化的细节
- 自定义序列化
- 对象的浅克隆和深克隆
- 中文乱码问题
- UTF-8编码方法
- 字符流
- File类
- NIO_Buffer
- 利用NIO实现文件拷贝
18.网络编程
- 网络编程
- 基于BIO的网络编程
- 基于NIO的服务器编程
- 基于NIO的客户端编程
- 基于NIO的网络编程_优雅的退出
- 基于AIO的网络编程
19.反射与标注
- 类对象的概念
- 利用反射获取类的信息
- 利用反射实现常规操作
- 利用反射访问私有成员
- 枚举的概念
- 枚举的语法
- 自定义标注
- 自定义标注的案例
Lambda表达式与Stream编程
- Java8中的接口
- Lambd表达式
- Lambda与泛型
- 函数是接口
- 方法引用
- 构造方法引用和比较器应用
- Optional类
- 中间操作
- 终端操作
- 收集器
- 分组操作和分区操作
- 数值流
- 流的创建
- 流的开发
- 综合案例
21.设计模式
- 单例模式
- 工厂模式
- 代理模式
- 动态代理