1、什么是线程同步?线程同步会造成什么结果?
线程同步:当两个或两个以上的线程同时访问同一个资源时,为了保护资源的安全,只允许同一时间一个线程对该资源进行访问。
后果:(1)数据安全(2)效率低
2、同步使用什么关键字?
synchronized
3、线程之间如何通信?
通过wait()和notify()方法对不同线程间的同一个对象锁进行释放和控制,从而协调不同线程之间的通信。
4、wait和sleep的区别?
(1).sleep方法在现场类Thread中定义,wait方法在Object中定义;
(2).wait方法只能放在同步方法或同步块中,表示当前线程对资源进行等待,Sleep方法可以放在任何位置,表示当前线程休眠。
(3).wait方法要释放对象锁,sleep不会释放;
(4).wait方法使用后,线程需要notify唤醒后才能继续执行。而sleep在休眠结束后,线程自动继续执行。
5、集合的作用是什么?集合的特点是什么?
作用:java中对一些数据结构和算法进行了封装即集合。集合也是一种对象,用于存储,检索,操作和传输对象。
特点:集合特点:元素类型可以不同,集合长度可变,空间不固定;
6、集合接口的API结构是什么?每个接口有什么特点?
collection是list和set父接口,另外还有单独的Map接口。
List接口:线性(存放元素的顺序和取出的顺序一致),元素可以重复。
Set接口:元素不可以重复。
Map接口:键值对,一个元素可以存放两个对象,键不能重复。
7、List集合添加、删除、替换、得到元素、得到长度是什么方法?
添加:add 删除:remove 得到元素:get 得到长度:size()
线程同步:当两个或两个以上的线程同时访问同一个资源时,为了保护资源的安全,只允许同一时间一个线程对该资源进行访问。
后果:(1)数据安全(2)效率低
2、同步使用什么关键字?
synchronized
3、线程之间如何通信?
通过wait()和notify()方法对不同线程间的同一个对象锁进行释放和控制,从而协调不同线程之间的通信。
4、wait和sleep的区别?
(1).sleep方法在现场类Thread中定义,wait方法在Object中定义;
(2).wait方法只能放在同步方法或同步块中,表示当前线程对资源进行等待,Sleep方法可以放在任何位置,表示当前线程休眠。
(3).wait方法要释放对象锁,sleep不会释放;
(4).wait方法使用后,线程需要notify唤醒后才能继续执行。而sleep在休眠结束后,线程自动继续执行。
5、集合的作用是什么?集合的特点是什么?
作用:java中对一些数据结构和算法进行了封装即集合。集合也是一种对象,用于存储,检索,操作和传输对象。
特点:集合特点:元素类型可以不同,集合长度可变,空间不固定;
6、集合接口的API结构是什么?每个接口有什么特点?
collection是list和set父接口,另外还有单独的Map接口。
List接口:线性(存放元素的顺序和取出的顺序一致),元素可以重复。
Set接口:元素不可以重复。
Map接口:键值对,一个元素可以存放两个对象,键不能重复。
7、List集合添加、删除、替换、得到元素、得到长度是什么方法?
添加:add 删除:remove 得到元素:get 得到长度:size()