1. 多线程
1.1 并发(微观是交替执行),并行概念(同一时刻):图解见2019-6-14/img/1
1.2 进程:图解见2019-6-14/img/2
1.3 线程:图解见2019-6-14/img/3
1.4 线程调度:轮流/抢占式。图解见2019-6-14/img/4
1.5 主线程:图解见2019-6-14/img/5和6
1.6 创建线程方法1——thread子类(理解随机打印原理和内存图):图解见2019-6-14/img/7,8,9,10
1.7 (获取线程名) thread的成员,静态方法:图解见2019-6-14/img/11
1.8 设置线程名:图解见2019-6-14/img/12
1.9 sleep方法模拟秒表:图解见2019-6-14/img/13
1.10 创建线程方法2——runnable实现接口:图解见2019-6-14/img/14
1.11 runnable接口比thread的子类的优势:图解见2019-6-14/img/15
1.12 匿名内部类实现多线程。图解见2019-6-14/img/16
2. 线程安全
2.1 安全概述:图解见2019-6-14/img/17
2.2 线程安全模拟卖票:图解见2019-6-14/img/18
2.3 安全问题图解:图解见2019-6-14/img/19
2.4 解决安全问题1——同步代码块:图解见2019-6-14/img/20
2.5 同步锁保证安全的实现:图解见2019-6-14/img/21
2.6 解决安全问题2——同步方法(此时对象锁是任务本身):图解见2019-6-14/img/22
2.7 静态同步方法解决安全(对象锁的任务的class):图解见2019-6-14/img/23
2.8 解决安全问题2——lock:图解见2019-6-14/img/24和25
3. 线程状态和通信
3.1 状态图解:图解见2019-6-14/img/26
3.2 无限等待通信:图解见2019-6-14/img/27
3.3 吃包子通信案例:图解见2019-6-14/img/28和29
3.4 sleep/wait,notify/notifyAll:图解见2019-6-14/img/30
3.5 等待唤醒概述:图解见2019-6-14/img/31
3.6 消费包子/生产包子案例:图解见2019-6-14/img/32和33
4. 线程池
4.1 原理:图解见2019-6-14/img/34
4.2 使用步骤:图解见2019-6-14/img/35和36
5. lambda表达式
5.1 格式:图解见2019-6-14/img/37
5.2 案例:图解见2019-6-14/img/38
6. 网络编程
6.1 网络通信
6.2 tcp和udp
6.3 ip地址
6.4 端口号:图解见2019-6-14/img/39
7. tcp通信(c/s,b/s)
7.1 概述:图解见2019-6-14/img/40
7.2 cs-tcp客户端实现:图解见2019-6-14/img/41
7.3 cs-tcp服务端实现:图解见2019-6-14/img/42,43,44
7.4 cs-tcp文件上传案例:图解见2019-6-14/img/45,46,47,48
7.5 bs通信:图解见2019-6-14/img/49和50
8. 函数式接口
8.1 概念:图解见2019-6-14/img/51
8.2 日志浪费案例:图解见2019-6-14/img/52
8.3 lambda优化解决日志浪费:图解见2019-6-14/img/53和54
8.4 lambda返回值案例:图解见2019-6-14/img/55
8.5 常用函数式接口:
①supplier<T>:图解见2019-6-14/img/56和57 生产数据
②consumer<T>:图解见2019-6-14/img/58,59,60,61(andthen方法) 消费数据
③predicate<T>:图解见2019-6-14/img/62,63,64,65,67(and,or,negate方法) 判断数据
④function<T,R>:图解见2019-6-14/img/68,69,70 类型转换数据