点关注,不迷路!java
什么是线程程序员
多线程原理web
多线程的优势面试
多线程的缺点编程
主线程的主要做用windows
主线程的使用注意缓存
下面这些是我在不一样时间不一样地点喜欢问的Java线程问题。我这里没有提供答案,只给你们提供了一些线索,有些时候这些线索足够回答问题。(答案在文末,你能够先看看都能搞定吗?)数据结构
1.如今有T一、T二、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?多线程
这个线程问题一般会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,能够用join方法实现。并发
2.在Java中Lock接口比synchronized块的优点是什么?你须要实现一个高效的缓存,它容许多个用户读,但只容许一个用户写,以此来保持它的完整性,你会怎样去实现它?
lock接口在多线程和并发编程中最大的优点是它们为读和写分别提供了锁,它能知足你写像ConcurrentHashMap这样的高性能数据结构和有条件的阻塞。Java线程面试的问题愈来愈会根据面试者的回答来提问。我强烈建议在你去参加多线程的面试以前认真读一下Locks,由于当前其大量用于构建电子交易终统的客户端缓存和交易链接空间。
3.在java中wait和sleep方法的不一样?
一般会在电话面试中常常被问到的Java线程面试问题。最大的不一样是在等待时wait会释放锁,而sleep一直持有锁。Wait一般被用于线程间交互,sleep一般被用于暂停执行。
4.用Java写代码来解决生产者——消费者问题。
与上面的问题很相似,但这个问题更经典,有些时候面试都会问下面的问题。在Java中怎么解决生产者——消费者问题,固然有不少解决方法,我已经分享了一种用阻塞队列实现的方法。有些时候他们甚至会问怎么实现哲学家进餐问题。
5.你将如何使用thread dump?你将如何分析Thread dump?
在UNIX中你可使用kill -3,而后thread dump将会打印日志,在windows中你可使用”CTRL+Break”。很是简单和专业的线程面试问题,可是若是他问你怎样分析它,就会很棘手。
**6.**用Java编程一个会致使死锁的程序,你将怎么解决?
这是我最喜欢的Java线程面试问题,由于即便死锁问题在写多线程并发程序时很是广泛,可是不少侯选者并不能写deadlock free code(无死锁代码?),他们很挣扎。只要告诉他们,你有N个资源和N个线程,而且你须要全部的资源来完成一个操做。为了简单这里的n能够替换为2,越大的数据会使问题看起来更复杂。经过避免Java中的死锁来获得关于死锁的更多信息。
7.你在多线程环境中遇到的共同的问题是什么?你是怎么解决它的?
多线程和并发程序中常遇到的有Memory-interface、竞争条件、死锁、活锁和饥饿。问题是没有止境的,若是你弄错了,将很难发现和调试。这是大多数基于面试的,而不是基于实际应用的Java线程问题。
8.为何咱们调用start()方法时会执行run()方法,为何咱们不能直接调用run()方法?
这是一个很是经典的java多线程面试问题。这也是我刚开始写线程程序时候的困惑。如今这个问题一般在电话面试或者是在初中级Java面试的第一轮被问到。这个问题的回答应该是这样的,当你调用start()方法时你将建立新的线程,而且执行在run()方法里的代码。可是若是你直接调用run()方法,它不会建立新的线程也不会执行调用线程的代码。
9.Java中的volatile关键是什么做用?怎样使用它?在Java中它跟synchronized方法有什么不一样?
自从Java 5和Java内存模型改变之后,基于volatile关键字的线程问题愈来愈流行。应该准备好回答关于volatile变量怎样在并发环境中确保可见性、顺序性和一致性。
**10.**什么是不可变对象,它对写并发应用有什么帮助?
另外一个多线程经典面试问题,并不直接跟线程有关,但间接帮助不少。这个java面试问题能够变的很是棘手,若是他要求你写一个不可变对象,或者问你为何String是不可变的。
其实,不少面试官都清楚,初级程序员对于多线程的掌握度几乎为零。可是面试环节中,不少面试官都会抱着试一试的态度去提问一两道多线程的题目。其目的不是为了难为面试者,也不是为了彰显面试的“高大上”,而是为了区分通常人才与优质人才。最后一点你们谨记:
在找工做的时候,除了作些相关面试和准备熟悉之前作的项目以外,还应该学习新的知识。毕竟,每多学一点,成功找到工做的机会就大一点。并且,IT这行,技术发展过于快速,若是没有学习新知识的动力,终究会被淘汰。
上述问到更多的并发面试题答案&更多最新2020整理收集的一些面试题(都整理成文档,小部分截图),有须要的能够看评论区领取。
并发专题24页pdf文档↓↓↓↓↓↓↓↓↓
上述问到的面试题答案&最新2020整理收集的一些面试题(都整理成文档,小部分截图),有须要的能够看评论区领取。
但愿经过这些可以帮助你们在面对面试官提到的这些面试题目的时候,表现的游刃有余。面试加油!!