面向对象的三个基本元素,五个基本原则
三个基本元素:封装 继承 多态
五个基本原则:
- 单一职责原则:一个类,最好只做一件事,只有一个引起它的变化 。单一职责原则可以看做是第耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。
- 开发封闭原则:对扩展开放,对修改封闭。
- 里氏替换原则:子类必须能够替换父类,这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。
- 依赖倒置原则:具体依赖于抽象,抽象不依赖于具体。
- 接口隔离原则:使用多个接口,而不要使用一个大的接口。
数据库以及线程发生死锁的原理及必要条件,如何避免死锁
产生死锁的原因: 系统资源不足 ,进程执行顺序不合适,资源分配不均匀。
产生死锁的四个必要条件:
(1)互斥条件:一个资源每次只能被一个进程使用。
(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。