目录结构

  1. 什么叫线程安全?
  2. 同步和异步有什么区别?
  3. 并发和并行有什么区别?
  4. 死锁、活锁和饥饿是什么意思?
  5. Java 中线程状态有哪些?
  6. Java中实现多线程的方法有哪些?
  7. JVM 中可以创建多少个线程?
  8. Java中有哪些方法可以终止线程运行?
  9. 说说你对Thread.currentThread().interrupt()的看法?
  10. 线程的等待(wait)和通知 (notify)是什么情况?
  11. 线程的挂起(suspend)和继续执行(resume)是什么情况?
  12. 线程的等待线程结束(join)和谦让(yield)是什么情况?
  13. JVM 中的守护线程是什么情况?
  14. 说说你对 finalize 的看法?
  15. Lock 和 synchronized 有什么区别?
  16. Condition 是什么?
  17. 什么叫重入锁?
  18. Synchronizer 是什么?
  19. AQS 是什么?
  20. Semaphore是什么?
  21. CountDownLatch 是什么?
  22. CyclicBarrier 是什么?
  23. Java中的读写锁是怎么回事?
  24. LockSupport 是什么?
  25. 如何对请求进行限流?
  26. Java中有哪些线程池?
  27. JUC 中的 Executor 框架指的什么?
  28. ThreadPoolExecutor 是什么?
  29. 使用线程池如何处理异常?
  30. 线程池如何打印堆栈信息?
  31. 你了解 Guava 中有哪些线程池的扩展内容吗?
  32. Timer 是什么?
  33. CompletionService 是什么?
  34. ConcurrentHashMap 的实现原理?
  35. 对于 ConcurrentModificationException 你了解吗?
  36. CopyOnWriteArrayList 是什么?
  37. 你了解Java的阻塞队列吗?
  38. Java阻塞队列BlockingQueue里add、offer、put、take、poll的区别?
  39. ConcurrentLinkedQueue 是什么?
  40. SynchronousQueue 是什么?
  41. Java 中的延迟队列(DelayQueue)是怎么实现的?
  42. Java 中的优先队列(PriorityBlockingQueue)是怎么实现的?
  43. 你知道 Java 中哪些集合是使用跳表实现的吗?
  44. 你了解 CompletableFuture 吗?
  45. 你了解 StampedLock 吗?
  46. 你了解 LongAdder 吗?和 AtomicLong 相比有什么优缺点?
  47. 你了解 LongAccumulator 吗?
  48. 怎样提供锁性能?/ 怎样减少锁竞争?
  49. Java 虚拟机针对锁优化做了哪些努力?
  50. ThreadLocal的实现原理?
  51. Java 中有哪些类型的锁?
  52. Java 中怎样实现无锁?
  53. 你了解 CAS 吗?
  54. 你了解 AtomicInteger 吗?
  55. 你了解 AtomicReference和 AtomicStampedReference 吗?
  56. 你了解 Java 中的 Unsafe 类吗?
  57. Java 中的数组可以无锁实现并发吗?
  58. 你了解 AtomiclntegerFieldUpdater 吗?
  59. 你知道工作窃取算法(Work Stealing)?
  60. 你知道什么是毒丸对象(Poison Pill)吗?
  61. 你了解 Disruptor 吗?
  62. 怎样实现并行搜索?
  63. 怎样实现并行排序?
  64. 你了解并发设计模式有哪些吗?
  65. 线程引入会带来哪些开销?
  66. 并发编程有哪些缺点?
  67. 怎样正确的进行并发编程?

文献引用

  1. 实战Java高并发程序设计(第2版) 葛一鸣著
  2. Java并发编程实战/ (美)盖茨(Goetz,B.)等著;童云兰等译
  3. Java程序员面试笔试真题与解析猿媛之家编著
  4. https://www.cnblogs.com/zh-ch/p/13138587.html
  5. Lock和synchronized的区别和使用
  6. Java线程的6种状态及切换,透彻讲解
  7. Java Thread问题集之Thread.stop()篇

Q.E.D.


大数据开发工程师,精通 Spark,擅长 Java 和 Scala