day24总结_多线程和设计模式
2018-03-07 23:42
197 查看
1、多线程
①、JDK5以后的针对线程的锁定操作和释放操作// 定义锁对象private Lock lock = new ReentrantLock();
// 加锁
lock.lock();
// 释放锁
lock.unlock();②、死锁问题的描述和代码体现*死锁:两个或两个以上的线程在争夺资源的过程中,发生的一种相互等待的现象。
public void run() { if (flag) { synchronized (MyLock.objA) { System.out.println("IF objA"); synchronized (MyLock.objB) { System.out.println("IF objB"); } } } else { synchronized (MyLock.objB) { System.out.println("IF objB"); synchronized (MyLock.objA) { System.out.println("IF objA"); } } } }③、生产者和消费者多线程体现(线程间通信问题)// 基础版本
// 改进版本1
// 改进版本2
// 最终版本3
A:最基本的版本,只有一个数据。 B:改进版本,给出了不同的数据,并加入了同步机制 C:等待唤醒机制改进该程序,让数据能够实现依次的出现 wait() notify() notifyAll() (多生产多消费) D:等待唤醒机制的代码优化。把数据及操作都写在了资源类中④线程组
⑤线程池
⑥多线程实现的第三种方案
⑦多线程的面试题
二、设计模式
①面试对象的常见设计原则单一
开闭
里氏
依赖注入
接口
迪米特
②设计模式概述和分类
A:经验的总结
B:三类
创建型
结构型
行为型
③改进的设计模式
A:简单工厂模式
B:工厂方法模式
C:单例模式(掌握)
a:饿汉式
b:懒汉式
④Runtime
JDK提供的一个单例模式应用的类。
还可以调用dos命令。
相关文章推荐
- [设计模式总结] 5. 单例模式(以及多线程、无序写入、volatile对单例的影
- 黑马程序员--Java学习日记之总结复习(多线程和设计模式)
- 黑马程序员-------------多线程中的(线程、线程组、线程池、以及Java的设计模式)概念及方法的总结
- 多线程、设计模式_总结
- JAVA多线程编程设计模式:总结
- 多线程设计模式总结(一)
- 多线程设计模式总结
- 设计模式总结:单例模式(以及多线程、无序写入、volatile对单例的影响)
- 多线程设计模式总结(二)
- 多线程设计模式总结(三)
- C语言和设计模式(总结篇)
- 猫猫学iOS(五十二)多线程网络之GCD下单例设计模式
- 设计模式梳理总结(1)
- 设计模式的理解的总结
- 设计模式总结-单例模式
- 设计模式总结
- 多线程设计模式之——Balking Pattern
- PHP 设计模式 笔记与总结(9)数据对象映射模式
- (多线程-单例设计模式-懒汉式)