
Java多线程面试题
文章平均质量分 55
收集和分析关于Java中多线程编程相关的面试题
Bob Liu
这个作者很懒,什么都没留下…
展开
-
Java线程面试题(04) Java中进程与线程的真实区别
编程面试的一个常见问题是线程和进程之间有什么区别?那么它们之间的主要区别在于一个进程是一个正在执行一些代码的程序,而一个线程是这个进程中的一个独立的执行路径。一个进程可以有多个线程来完成独立的任务,例如一个用于从磁盘读取数据的线程,一个用于处理该数据的线程以及另一个用于通过网络发送该数据的线程。这种提高吞吐量和更好地利用CPU能力的技术也被称为多线程技术。从技术上讲,线程之间最显着的区别是地址空间和上下文切换。进程中的所有线程共享相同的地址空间,但进程有自己的地址空间。类似地,进程之间的上下文切换比线程之间原创 2017-12-17 13:12:07 · 1160 阅读 · 0 评论 -
Java线程面试题(03) Java中的volatile如何工作? Java中的volatile关键字示例
什么是Java中的volatile变量以及何时使用Java中的volatile变量是一道Java面试中经常被问及的多线程访问问题。尽管许多程序员知道什么是volatile变量,但是他们在回答第二部分问题什么地方使用volatile变量时失败,因为大部分人对Java中volatile变量并没有一个清晰的理解和应用。在本教程中,我们将通过提供一个Java中volatile变量的简单示例来解决这个问题,并讨论在Java中使用volatile变量的一些情况。无论如何,Java中的volatile关键字被用作Java翻译 2017-11-27 13:03:50 · 2491 阅读 · 0 评论 -
Java线程面试题(02) Java线程中如何避免死锁
如何避免Java中的死锁?是多线程编程常见问题之一,在高级别的面试中经常被问及,并带来了大量的后续问题。尽管问题看起来很基本,但是一旦开始深入,大部分开发者都会陷入困境。面试问题从“什么是死锁?”开始。答案很简单,当有两个或更多的线程在等待对方释放锁并无限期地卡住时,这种情况就称为死锁。这只会发生在多线程的情况下。翻译 2017-11-21 14:13:08 · 8851 阅读 · 1 评论 -
Java线程面试题(01) Java中如何检查一个线程是否拥特定对象的锁
考虑一个场景,在运行时你必须找到一个Java线程是否对特定的对象加锁,例如,确认NewsReader线程是否持有NewsPaper对象的锁?如果这个问题出现在任何核心的Java面试中,那么我会自动假设可能有至少两个答案,一个是难以获得的原始答案,程序员想根据基本原理找出答案,而另一个可能是一些很少使用的Java API调用,顺便说一下,这实际上是在接受我最大的全球投资银行之一面试是被问到的问题。投资银行领域,特别是现金股票, 需要强大的核心Java和多线程技能来构建高性能,低延迟的Java应用程序,以处理每翻译 2017-11-21 12:50:14 · 4777 阅读 · 0 评论