java面试总结(1)

来源:互联网 发布:linux查看硬盘使用情况 编辑:程序博客网 时间:2024/06/05 03:59

1、多线程有几种实现方法?同步有几种实现方法?

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口。

同步的实现方面有两种,分别是synchronized,wait与notify。

wait():使一个线程处于等待状态,并且释放所持有的对象的lock.(需要利用notify()或Allnotify()唤醒)。

sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。

notify()与Allnotify()的不同:

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

Allnotify():唤醒所有处于等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让他们竞争。

2、run() 和start()

start():是启动一个线程所调用的方法,使线程处于就绪状态。

run():是线程所关联的执行代码。

3、当一个线程进入一个对象的一个synchronized方法后,其他线程是否可进入此对象的其他方法?

分几种情况:

(1)其他方法前是否加了synchronized关键字,如果没加,则能。

(2)如果这个方法内部调用了wait,则可以进入其他synchronized方法。

(3)如果其他方法前都加了synchronized关键字,并且当前这个方法内部没有调用wait,则不能。

(4)如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this。

4、线程的基本概念

一个程序可以有多条执行线索同时执行,一个线程就是程序中的一条执行线索,每个线程上都关联有要执行的代码,

即可以有多段程序代码同时运行,每个程序至少都有一个线程,即main方法执行的那个线程。如果只是一个cpu,它怎么能够

同时执行多段程序呢?这是从宏观上来看的,CPU一会执行a线索,一会执行b线索,切换时间很快,给人的感觉是a,b在同时执行,

好比大家在同一办公室上网,只有一条连接到外部网线,其实,这条网线一会为a传数据,一会为b传数据,由于切换时间很短,所以,大家感觉都在同时上网。

5、线程的基本状态

就绪、运行、synchronize阻塞、wait和sleep挂起、结束。

wait必须在synchronized内部调用。

6、线程状态之间的关系

调用线程的start方法后线程进入就绪状态,线程调度系统将就绪状态的线程转为运行状态,遇到sychronized语句时,

由运行状态转为阻塞,当sychronized获得锁后,由阻塞转为运行,在这种情况可以调用wait方法转为挂起状态,当线程关联的代码执行完

后,线程变为结束状态。

7、简述synchronized和java.util.concurrent.locks.lock的异同?

主要相同点:lock能完成synchronized所实现的所有功能。

主要不同点:lock有比synchronized更精确的线程语义和更好的性能。synchronzed会自动释放锁,而lock一定要求程序员手工释放,

并且必须在finally从句中释放。lock还有更强大的功能,例如,它的trylock方法可以非阻塞方式去拿锁。




原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 心里莫名的急该怎么办 老感觉心烦气燥怎么办 什么事都不想做怎么办心里烦躁 咳嗽流鼻涕身体发热怕冷怎么办 不感冒流清鼻涕怎么办 刚怀孕感冒了怎么办鼻塞流鼻涕 孕妇打喷嚏流鼻涕怎么办速效办法 宝宝流鼻涕一个月了怎么办 一个月婴儿感冒咳嗽流鼻涕怎么办 怎么办感冒能好得快些 一个月的宝宝流鼻涕怎么办 鼻炎犯了一直流鼻涕怎么办 宝宝流鼻涕鼻子擦破了怎么办 宝宝流鼻涕鼻子擦红了怎么办 上班忘记穿内衣了怎么办 早上上班忘记穿内衣了怎么办 高中知识都忘了怎么办 留鼻涕跟水一样怎么办 鼻涕像水一样流怎么办 肩膀很疼怎么办睡不着觉 夏天穿内衣出汗后很臭怎么办 脸过敏后严重缺水怎么办 过敏后脸上反复出现湿疹怎么办 孕妇脸上长湿疹过敏红肿怎么办 一岁宝宝一直流鼻涕怎么办 三岁宝宝一直流鼻涕怎么办 3岁宝宝一直流鼻涕不好怎么办 7岁半边鼻子不通气怎么办 感冒流鼻涕鼻子不通气怎么办 鼻子不通气干的怎么办 7个月婴儿流鼻涕怎么办 鼻子火辣辣的光想流鼻涕怎么办? 三岁宝宝鼻塞流鼻涕怎么办 一岁宝宝感冒流鼻涕鼻塞怎么办 1岁宝宝鼻塞流鼻涕怎么办 一岁多宝宝感冒鼻塞流鼻涕怎么办 宝宝鼻塞流鼻涕怎么办速效办法 八个月宝宝感冒流鼻涕鼻塞怎么办 7岁儿童流清鼻涕怎么办 1岁的宝宝流鼻涕怎么办 3岁宝宝鼻塞严重怎么办