笔试题 遗忘点记录 面向对象特点 + 产生死锁条件+ windows内存管理方法
)单一职责原则。就一个类而言,应该仅有一个引起它变化的原因。 //感觉这个是 低耦合 高内聚
(2)开放封闭原则。软件实体对外扩展开放,对修改封闭。
//这个基础。。
(3)里氏替换原则。子类的实例能够替换父类的实例。
//这个。。多态
(4)接口分离原则。采用多个专门的接口比使用单一的总接口要好。一个类对另一个类的依赖性建立在最小的接口上。
//这个讲的就是 多个接口如何处理
(5)依赖倒置原则。依赖抽象不要依赖具体实现。
//。。说的是接口, 就是 工场设计模式。
---------------
产生死锁的4个必要条件是:
互斥条件,一个资源每次只能被一个进程使用;
请求与保持条件,一个进程因请求资源而阻塞时,对已获得的资源保持不放;
不可剥夺条件,进程已获得的资源,在未使用完之前,不能强行剥夺;
循环等待条件,若干进程之间形成一种头尾相连的循环等待资源关系。
这四个条件时死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。
http://talentluke.iteye.com/blog/1499911
3.银行家算法的思路:
1),进程一开始向系统提出最大需求量.
2),进程每次提出新的需求(分期贷款)都统计是否超出它事先提出的最大需求量.
3),若正常,则判断该进程所需剩余剩余量(包括本次申请)是否超出系统所掌握的 剩余资源量,若不超出,则分配,否则等待.
Windows的内存管理方法
windows提供了3种方法来进行内存管理:
1.虚拟内存,最适合用来管理大型对象或者结构数组
2.内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据。
3.内存堆栈,最适合用来管理大量的小对象