下载此文档

50道java线程面试题.docx


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/ 16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 16 下载此文档
文档列表 文档介绍
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。
在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方式创建线程比较好(比如:继承thread类还是调用Runnable接口),然后逐渐问到并发问题像在Java并发编程的过程中遇到了什么挑战,Java内存模型,,并发编程常用的设计模式,经典多线程问题如生产者消费者,哲学家就餐,读写器或者简单的有界缓冲区问题。仅仅知道线程的基本概念是远远不够的, 你必须知道如何处理死锁,竞态条件,内存冲突和线程安全等并发问题。掌握了这些技巧,你就可以轻松应对多线程和并发面试了。
许多Java程序员在面试前才会去看面试题,这很正常。因为收集面试题和练习很花时间,所以我从许多面试者那里收集了Java多线程和并发相关的50个热门问题。我只收集了比较新的面试题且没有提供全部答案。想必聪明的你对这些问题早就心中有数了, 如果遇到不懂的问题,你可以用Google找到答案。
50道Java线程面试题
下面是Java线程相关的热门面试题,你可以用它来好好准备面试。
1) 什么是线程?
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。
程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个
线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程
提供了卓越的支持,它也是一个很好的卖点。
2) 线程和进程有什么区别?
线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不
同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线程都拥有单
独的栈内存用来存储本地数据。
3) 如何在Java中实现线程?
在语言层面有两种方式。
接口来执行, 类或者直接调
用Runnable接口来重写run()方法实现线程。
4) 用Runnable还是Thread?
这个问题是上题的后续,大家都知道我们可以通过继承Thread类或者调用Runnable接口来实现线程,问题是,
那个方法更好呢?什么情况下使用它?这个问题很容易回答,如果你知道Java不支持类的多重继承,但允许
你调用多个接口。所以如果你要继承其他类,当然是调用Runnable接口好了。
6) Thread 类中的start() 和 run() 方法有什么区别?
这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的理解程度。start()方法被用来启动
新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用
run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。
7) Java中Runnable和Callable有什么不同?
Runnable和Callable都代表那些要在不同的线程中执行的任务。,
。它们的主要区别是Callable的 call() 方法可以返回值和抛出异常,
而Runnable的run()方法没有这些功能。Callable可以返回装载有计算结果的Future对象。
我的博客有更详细的说明。(http://java67./2013/01/difference-between-callable-and-runnable-)
8) Java中CyclicBarrier 和 CountDownLatch有什么不同?
CyclicBarrier 和 CountDownLatch 都可以用来让一组线程等待其它线程。
与 CyclicBarrier 不同的是,CountdownLatch 不能重新使用。点此查看更多信息和示例代码。(http://javarevisited./2012/07/cyclicbarrier-example-java-5-concurrency-)
9) Java内存

50道java线程面试题 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数 16
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 s0012230
  • 文件大小 24 KB
  • 时间2018-07-10
最近更新