今天上午去拍了毕业的证件照,就耽误了一上午,下午的时候在投简历,晚上才进出学习的正轨,下面就做一个总结啦。可能会和之前的有重复吧,但是就当是再次加深印象啦,温故而知新!
1、线程有哪几种状态?
- New:新建状态
- Runnable:运行状态
- Blocked:阻塞状态
- Waiting:等待状态
- Timed_Waiting:超时等待状态
- Terminated:终止状态
2、什么是守护线程?
守护线程是一种在后台运行的特殊进程,它与终端控制无关并且周期性地执行某项任务或者等待处理某些发生的事件,例如java中的垃圾回收就是守护线程。
3、Iterator如何使用?
List<String> list = new ArrayList<String>();
Iterator<String> ite = list.iterator();
while(ite.hasNext()){
String el = ite.next();
System. out. println(el);
}
4、Iterator的特点?
Iterator 的特点是更加安全,因为它可以确保,在当前遍历的集合元素被更改的时候,就会抛出 ConcurrentModificationException 异常。
5、Iterator 和 ListIterator 有什么区别?
- Iterator 可遍历 Set 和 List 集合; ListIterator 只能遍历 List。
- Iterator 只能单向遍历;ListIterator 可双向遍历(向前/后遍历)。
- ListIterator 继承自 Iterator 接口,添加新功能,比如添加一个元素、替换一个元素、获取前面或后面元素的索引位置。
6、 sleep() 和 wait() 有什么区别?
- 类的不同:sleep() 来自 Thread,wait() 来自 Object。
- 释放锁:sleep() 不释放锁;wait() 释放锁。
- 用法不同:sleep() 时间到会自动恢复;wait() 可以使用 notify()/notifyAll()直接唤醒。