敲黑板!Java多线程常见面试题!!

Posted 黑马程序员成都中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了敲黑板!Java多线程常见面试题!!相关的知识,希望对你有一定的参考价值。

前端6期开班时间:2019.12.18

Java34期开班时间:2019.12.27




Java多线程常见面试题,Java多线程相关面试题可以说是不可避免的,所以今天将为大家分享一些答题技巧。


  一、现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?



  二、在Java中Lock接口比synchronized块的优势是什么?


  你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?


  lock接口在多线程和并发编程中大的优势是它们为读和写分别提供了锁,它能满足你写像ConcurrentHashMap这样的高性能数据结构和有条件的阻塞。Java线程面试的问题越来越会根据面试者的回答来提问。我强烈建议在你去参加多线程的面试之前认真读一下Locks,因为当前其大量用于构建电子交易终统的客户端缓存和交易连接空间。


  三、在java中wait和sleep方法的不同?


  四、用Java实现阻塞队列。

  这是一个相对艰难的多线程面试问题,它能达到很多的目的。第一,它可以检测侯选者是否能实际的用Java线程写程序;第二,可以检测侯选者对并发场景的理解,并且你可以根据这个问很多问题。如果他用wait和notify方法来实现阻塞队列,你可以要求他用新的Java5中的并发类来再写一次。


  五、Java中的volatile关键是什么作用?怎样使用它?在Java中它跟synchronized方法有什么不同?

  自从Java5和Java内存模型改变以后,基于volatile关键字的线程问题越来越流行。应该准备好回答关于volatile变量怎样在并发环境中确保可见性。


  六、在Java中CycliBarriar和CountdownLatch有什么区别?

  这个线程问题主要用来检测你是否熟悉JDK5中的并发包。这两个的区别是CyclicBarrier可以重复使用已经通过的障碍,而CountdownLatch不能重复使用。  


  七、你将如何使用threaddump?你将如何分析Threaddump?

  在UNIX中你可以使用kill-3,然后threaddump将会打印日志,在windows中你可以使用”CTRL+Break”。非常简单和专业的线程面试问题,但是如果他问你怎样分析它,就会很棘手。


想要了解更多java类课程请咨询黑马成都分校:



—— END ——


以上是关于敲黑板!Java多线程常见面试题!!的主要内容,如果未能解决你的问题,请参考以下文章

Java 并发常见面试题总结(上)

Java多线程常见面试题-第三节:线程安全集合类和死锁

Java多线程常见面试题-第三节:线程安全集合类和死锁

2020最新Java常见面试题及答案

Java多线程常见面试题-第二节:JUC(java.util.concurrent)

Java多线程常见面试题-第二节:JUC(java.util.concurrent)