一、多选题
1. 如类Worker,请选择可正确终止线程的项()
class Workerextends Thread(){
private boolean isStop = false; //语句(1)
public void run(){
while(!isStop); //语句(2)
}
public void stopWork(){isStop = true;}
public void interruptWork(){super.interrupt();}
}
A. while条件改为!isInterrupted()时调用interrupWork才能结束线程
B. 仅当语句(1)定义添加volatile才可以调用stopWork()正确结束线程
C. 调用interruptWork()能正确结束线程
D. 调用stopWork()能正确结束线程
2. 下列关于集合描述,错误的是()
A. Hashmap中允许null为键,null为值
B. 集合中不可以存储基本数据类型值
C. List、Set、Map继承自Collection接口
D. Vector内部数据结构为数组,Vector是线程不安全的
3. 以下关于Java集合框架的说法正确的是()
A. 对TreeMap进行get/put/remove等操作的时间复杂度是log(n)
B.ConcurrentHashMap可以在Segment和HashEntry两个维度扩容
C. 多线程并发读写HashMap可能会导致系统负载居高不下
D. Iterator对集合可以进行前向遍历和后向遍历
4. 要实现一个全局计数器,以下哪种做法最优?()
A.
class CountC{
private Atomic<Integer> count = newAtomic<integer>(new Integer(0));
public Integer increment(){
return count.getAndIncrement();
}
}
B.
class CountB{
private int count=0;
public int increment(){
return count++;
}
}
C.
class CountC{
private AtomicInteger count = newAtomicint