基本信息
源码名称:Java并发编程面试题合集-已转档.pdf
源码大小:2.80M
文件格式:.pdf
开发语言:Java
更新时间:2021-04-20
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
目录 1、在 java 中守护线程和本地线程区别?............................................................ 4 2、线程与进程的区别? ........................................................................................ 4 3、什么是多线程中的上下文切换?..................................................................... 4 4、死锁与活锁的区别,死锁与饥饿的区别?..................................................... 4 6、什么是线程组,为什么在 Java 中不推荐使用?................................................ 5 7、为什么使用 Executor 框架?............................................................................... 5 8、在 Java 中 Executor 和 Executors 的区别? ......................................................... 5 9、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)? .................................................................................................................................. 6 10、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什 么优势?................................................................................................................... 6 11、什么是 Executors 框架?................................................................................... 7 12、什么是阻塞队列?阻塞队列的实现原理是什................................................... 7 13、什么是 Callable 和 Future?.............................................................................. 8 14、什么是 FutureTask?使用 ExecutorService 启动任务。....................................... 8 15、什么是并发容器的实现?................................................................................. 8 16、多线程同步和互斥有几种实现方法,都是什么?............................................ 9 17、什么是竞争条件?你怎样发现和解决竞争?................................................... 9 18、你将如何使用 thread dump?你将如何分析Thread dump?............................ 9 19、为什么我们调用 start()方法时会执行 run() 方法,为什么我们不能直接调 用 run()方法? ........................................................................................................10 20、Java 中你怎样唤醒一个阻塞的线程?.............................................................10 21、 在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别? ..............................10 22、什么是不可变对象,它对写并发应用有什么帮助?.......................................11 23、什么是多线程中的上下文切换?.....................................................................11 24、Java 中用到的线程调度算法是什么? ...........................................................12 25、什么是线程组,为什么在 Java 中不推荐使用?...........................................12 26、为什么使用 Executor 框架比使用应用创建和管理线程好? ...........................12 27、java 中有几种方法可以实现一个线程?......................................................13 28、如何停止一个正在运行的线程?.....................................................................13 29、notify()和 notifyAll()有什么区别?................................................................13 30、什么是 Daemon 线程?它有什么意义?..........................................................14 31、java 如何实现多线程之间的通讯和协作?..................................................14 32、什么是可重入锁(ReentrantLock)? .............................................................14 33、当一个线程进入某个对象的一个 synchronized................................................15 34、乐观锁和悲观锁的理解及如何实现,有哪些实现方式? ...............................15 35、SynchronizedMap 和 ConcurrentHashMap 有什么区别?...................................16 36、CopyOnWriteArrayList 可以用于什么应用场景? ............................................16 37、什么叫线程安全?servlet 是线程安全吗? ................................................17 38、volatile 有什么用?能否用一句话说明下volatile 的应用场景? .....................17 39、为什么代码会重排序?....................................................................................17 40、在 java 中 wait 和 sleep 方法的不同?.............................................................17 42、如何在两个线程间共享数据?.........................................................................18 43、Java 中 notify 和 notifyAll 有什么区别?..........................................................18 44、为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?.................18 45、什么是 ThreadLocal 变量? ............................................................................18 46 、 Java 中 interrupted 和 isInterrupted 方 法.......................................................19 47、为什么 wait和notify 方法要在同步块中调用? .......................................19 48、为什么你应该在循环中检查等待条件?............................................................19 49、Java 中的同步集合与并发集合有什么区别?..................................................19 50、什么是线程池? 为什么要使用它? ................................................................19 51、怎么检测一个线程是否拥有锁?.....................................................................20 52、你如何在 Java 中获取线程堆栈?....................................................................20 53、JVM 中哪个参数是用来控制线程的栈堆栈小的? ............................................20 54、Thread 类中的 yield 方法有什么作用?........................................................20 55、Java 中 ConcurrentHashMap 的并发度是什么?..................................................20 56、Java 中 Semaphore 是什么? ...........................................................................21 57、Java 线程池中 submit() 和 execute()方法有什么区别? ..............................21 58、什么是阻塞式方法?........................................................................................21 59、Java 中的 ReadWriteLock 是什么?..................................................................21 60、volatile 变量和 atomic 变量有什么不同? .......................................................21 61、可以直接调用 Thread 类的 run ()方法么?......................................................22 62、如何让正在运行的线程暂停一段时间?..........................................................22 63、你对线程优先级的理解是什么?.....................................................................22 64、什么是线程调度器(Thread Scheduler)和时间分 片 (Time Slicing )?................22 65、你如何确保 main()方法所在的线程是 Java 程.................................................23 66、线程之间是如何通信的?................................................................................23 67、为什么线程通信的方法 wait(), notify()和notifyAll()被定义在 Object 类里?...23 68、为什么 wait(), notify()和 notifyAll ()必须在同步方法或者同步块中被调用? .................................................................................................................................23 69、为什么 Thread 类的 sleep()和 yield ()方法是静态的?................................23 70、如何确保线程安全?........................................................................................24 71、同步方法和同步块,哪个是更好的选择?......................................................24 72、如何创建守护线程?........................................................................................24 73、什么是 Java Timer 类?如何创建一个有特定时间间隔的任务? ....................24