例题:

7、多线程与多进程的主要区别之一就是共享资源,多线程是通过互斥访问来协调共享资源,在Windows系统中使用什么对象使多线程之间对资源互斥访问( )

A. SysTherad B. InitTherad C. Mutex D. Select
参考答案:C
(Mutex:互斥 )
首先了解一下多线程与多进程
[多线程还是多进程的选择及区别的博文,感觉这篇博文写的很棒


8、在FTP服务器上FTP主进程打开的端口为( 21 )

9、咖啡店销售系统具体需求为:咖啡店店员在卖咖啡时,可以根据顾客的要求加入各种配料,并根据加入配料价格的不同来计算总价。若要设计该系统可以应该采用( )进行设计
A. 装饰模式

  • 装饰模式:(动态扩展) ----- 指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
  • 原型模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
  • 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。

10、下列程序的执行结果是( )

int num = 17;
while(num>0)
{
System.out.print(num ++ %5 + “\t”);
 //num++ 就是num先执行当前语句再自加1
 // %5表示取余数
 num /=5;
 //表示num=num/5}
D. 2 3
15、下列各序列中不是堆的是( )
A. (9,8,5,3,4,2,1)
B. (9,4,5,8,3,1,2)
C. (9,5,8,4,3,2,1)
D. (9,8,5,4,3,1,2)
参考答案:B
解析:堆要求父节点的元素值必须全部大于或者小于子节点的元素值,A、C和D都是符合条件的大根堆,B的第三层的元素8大于第二层的父元素值4,不符合堆的条件,故而本题答案为B选项。
16、switch内部执行顺序
 可以理解,一旦找到切入点,就可切入语句,从上到下按顺序执行下去,直到遇到break,才跳出20、在UML中,( )体现了一种contains-a的关系
A. 聚合关系
B. 实现关系
C. 组合关系
D. 关联关系
参考答案:C
UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。
组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分。
8、关于wait()和sleep()说法正确的是( )
A. wait()和sleep()都会释放锁
B. sleep()可以在任何地方使用
C. wait()只能在方法或者语句块中使用
D. wait()和sleep()都是Thread类的方法
参考答案:B、C

sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,请参考第66题中的线程状态转换图)。

wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池(lockpool),如果线程重新获得对象的锁就可以进入就绪状态

作者:和风细雨

等价类划分法应如何取值?与边界值法取值有何不同?

答:

(1)若输入条件规定了取值范围,且取值范围上、下限之间的数据是有意义的数据,则可以确立一个有效等价类和两个无效等价类。

(2)若输入条件规定了“必须如何”的条件,则可确立一个有效等价类和一个无效等价类。

(3)若输入条件是一个布尔型量,则可以确定一个有效等价类和一个无效等价类。

(4)若输入条件是一个逻辑型量,则可为每一个输入值确立一个有效等价类且软件要对每个输入值分别进行处理,则可为每一个值确立一个有效等价类,此外还要针对这组值确立一个无效等价类。