Java多线程面试题

本文详细介绍了Java中实现多线程的方法,包括四种常见的线程池及其原理、组成和工作流程。讨论了线程安全的关键字volatile、wait/notify机制以及线程池中的submit和execute方法差异。还涵盖了synchronized、ReentrantLock、线程组和线程安全概念。最后,解析了并发容器、锁优化和常见线程方法的应用。
摘要由CSDN通过智能技术生成
  1. Java中实现多线程有几种方法?
  2. 说出4 种线程池?
  3. 线程池原理?
  4. 线程池的组成有什么?
  5. Java 线程池工作过程?
  6. 如何停止一个正在运行的线程?
  7. notify()和notifyAll()有什么区别?
  8. sleep()和wait() 有什么区别?
  9. volatile 是什么?可以保证有序性吗?
  10. volatile关键字的作用?
  11. Thread 类中的start() 和 run() 方法有什么区别?
  12. 为什么wait, notify 和 notifyAll这些方法不在thread类里面?
  13. 为什么wait和notify方法要在同步块中调用?
  14. Java中interrupted 和 isInterruptedd方法的区别?
  15. Java中synchronized 和 ReentrantLock 有什么不同?
  16. 说说ReentrantLock?
  17. 什么是线程安全?
  18. Thread类中的yield方法有什么作用?
  19. SynchronizedMap和ConcurrentHashMap有什么区别?
  20. Java线程池中submit() 和 execute()方法有什么区别?
  21. 说一说自己对于 synchronized 关键字的了解?
  22. Synchronized 核心组件?
  23. Synchronized 的实现?
  24. 有三个线程T1,T2,T3,如何保证顺序执行?
  25. 什么是线程安全?Vector是一个线程安全类吗?
  26. 简述一下你对线程池的理解?
  27. 线程生命周期(状态)?
  28. 说说JAVA 后台线程?
  29. 什么是乐观锁?
  30. 什么是悲观锁?
  31. 什么是自旋锁?
  32. 什么是非公平锁?
  33. 什么是公平锁?
  34. 公平锁与非公平锁的区别?
  35. 什么是可重入锁(递归锁)?
  36. 说说ReadWriteLock 读写锁?
  37. 聊聊共享锁和独占锁?
  38. 什么是偏向锁?
  39. 什么是轻量级锁?
  40. 为什么升级为轻量锁时要把对象头里的Mark Word复制到线程栈的锁记录中呢?
  41. 为什么会尝试CAS不成功以及什么情况下会不成功?
  42. tryLock 和 lock 和 lockInterruptibly 的区别?
  43. 什么是Semaphore 信号量?
  44. Semaphore 与 ReentrantLock 区别?
  45. 说说锁优化?
  46. 线程基本方法?
  47. 为什么要用 join()方法?
  48. 常用的线程方法?
  49. 什么是进程?
  50. 什么是上下文?
  51. 什么是寄存器?
  52. 什么是程序计数器?
  53. 什么是PCB-“切换桢”?
  54. 上下文切换大致做了什么?
  55. 引起线程上下文切换的原因?
  56. jdk中的拒绝策略?
  57. JAVA 阻塞队列原理?
  58. Java 中的阻塞队列?
  59. 在 java 中守护线程和本地线程区别?
  60. 什么是多线程中的上下文切换?
  61. 死锁与活锁的区别,死锁与饥饿的区别?
  62. Java 中用到的线程调度算法是什么?
  63. 什么是线程组,为什么在 Java 中不推荐使用?
  64. 什么是 Executors 框架?
  65. 为什么使用 Executor 框架?
  66. 在 Java 中 Executor 和 Executors 的区别?
  67. 如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?
  68. 什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?
  69. Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?
  70. 什么是 FutureTask?使用 ExecutorService 启动任务。
  71. 什么是并发容器的实现?
  72. 多线程同步和互斥有几种实现方法,都是什么?
  73. 什么是竞争条件?
  74. Java 中你怎样唤醒一个阻塞的线程?
  75. 在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
  76. 什么是不可变对象,它对写并发应用有什么帮助?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值