哪个兄弟来个直接看的网站,法律类微信网站建设,wordpress 评论倒序,深圳将举行新闻发布会获取链接#xff1a;《2024最新Java面试题及答案#xff08;带完整目录#xff09;》
更多技术书籍#xff1a;技术书籍分享#xff0c;前端、后端、大数据、AI、人工智能...
4.1.9.8. 可重入锁#xff08;递归锁#xff09; ...........................…获取链接《2024最新Java面试题及答案带完整目录》
更多技术书籍技术书籍分享前端、后端、大数据、AI、人工智能...
4.1.9.8. 可重入锁递归锁 .................................................................................69 4.1.9.9. 公平锁与非公平锁 ...........................................................................................70 公平锁 Fair .................................................................................................................70 非公平锁 Nonfair .........................................................................................70 4.1.9.10. ReadWriteLock 读写锁 ...............................................................................................70 读锁 ........................................................................................................................70 写锁 ........................................................................................................................70 4.1.9.11. 共享锁和独占锁 ......................................................................................70 独占锁 ..............................................................................................................................70 共享锁 ......................................................................................................................70 4.1.9.12. 重量级锁Mutex Lock ............................................................................71 4.1.9.13. 轻量级锁.....................................................................................................................71 锁升级 .....................................................................................................................................71 4.1.9.14. 偏向锁................................................................................................................71 4.1.9.15. 分段锁.........................................................................................................................71 4.1.9.16. 锁优化........................................................................................................................71 减少锁持有时间 ...................................................................................................................72 减小锁粒度 ..............................................................................................................................72 锁分离 .......................................................................................................................................72 锁粗化 ..........................................................................................................................................72 锁消除 ......................................................................................................................................72 4.1.10. 线程基本方法 ..........................................................................................72 4.1.10.1.线程等待wait .................................................................................73 4.1.10.2. 线程睡眠 sleep .............................................................................................................................73 4.1.10.3. 线程让步 yield ..............................................................................................................................73 4.1.10.4. 线程中断interrupt .......................................................................................73 4.1.10.5. Join 等待其他线程终止 ..............................................................................................74 4.1.10.6. 为什么要用 join() 方法 ..............................................................................74 4.1.10.7. 线程唤醒notify ...........................................................................................74 4.1.10.8. 其他方法...........................................................................................................74 4.1.11. 线程上下文切换 ............................................................................................................75 4.1.11.1. 进程...........................................................................................................................75 4.1.11.2. 上下文................................................................................................................75 4.1.11.3. 寄存器...................................................................................................................75 4.1.11.4. 程序计数器..........................................................................................................75 4.1.11.5. PCB- “切换桢” .................................................................................................................................75 4.1.11.6. 上下文切换的活动 ..........................................................................................................................76 4.1.11.7. 引起线程上下文切换的原因 ..............................................................................................................76 4.1.12. 同步锁与死锁 ..............................................................................................................................76 4.1.12.1. 同步锁 ..................................................................................................................................................76 4.1.12.2. 死锁 ......................................................................................................................................................76 4.1.13. 线程池原理 ..................................................................................................................................76 4.1.13.1. 线程复用 ..............................................................................................................................................76 4.1.13.2. 线程池的组成 ......................................................................................................................................76 4.1.13.3. 拒绝策略 ..............................................................................................................................................78 4.1.13.4. Java 线程池工作过程 .........................................................................................................................78 4.1.14. JAVA 阻塞队列原理 ....................................................................................................................79 4.1.14.1. 阻塞队列的主要方法 ..........................................................................................................................80 插入操作 ............................................................................................................................................................80 获取数据操作 ....................................................................................................................................................81 4.1.14.2. Java 中的阻塞队列 .............................................................................................................................81 4.1.14.3. ArrayBlockingQueue公平、非公平 .......................................................................................82 4.1.14.4. LinkedBlockingQueue两个独立锁提高并发 .........................................................................82 4.1.14.5. PriorityBlockingQueuecompareTo 排序实现优先 ..............................................................82 4.1.14.6. DelayQueue缓存失效、定时任务 ..........................................................................................82 4.1.14.7. SynchronousQueue不存储数据、可用于传递数据 ..............................................................83 4.1.14.8. LinkedTransferQueue ......................................................................................................................83 13/04/2018 Page 5 of 283 4.1.14.9. LinkedBlockingDeque .....................................................................................................................83 4.1.15. CyclicBarrier 、 CountDownLatch 、 Semaphore 的用法 ........................................................84 4.1.15.1. CountDownLatch线程计数器 ................................................................................................84 4.1.15.2. CyclicBarrier回环栅栏-等待至 barrier 状态再全部同时执行 ...............................................84 4.1.15.3. Semaphore信号量-控制同时访问的线程个数 .......................................................................85 4.1.16. volatile 关键字的作用变量可见性、禁止重排序 .........................................87 变量可见性 ....................................................................................................................87 禁止重排序 .........................................................................................................................87 比 sychronized 更轻量级的同步锁 ...........................................................................................87 适用场景 ............................................................................................................................87 4.1.17. 如何在两个线程之间共享数据 .......................................................................88 将数据抽象成一个类并将数据的操作作为这个类的方法 ...............................................88 Runnable 对象作为一个类的内部类 ......................................................................89 4.1.18. ThreadLocal 作用 线程本地存储 ........................................................90 ThreadLocalMap 线程的一个属性 ..........................................................................90 使用场景 ............................................................................................................91 4.1.19. synchronized 和 ReentrantLock 的区别 .........................................................91 4.1.19.1. 两者的共同点 ......................................................................................................91 4.1.19.2. 两者的不同点 ...........................................................................................................92 4.1.20. ConcurrentHashMap 并发 ..............................................................................92 4.1.20.1. 减小锁粒度 ....................................................................................................................92 4.1.20.2. ConcurrentHashMap 分段锁 ..........................................................................................................92 ConcurrentHashMap 是由 Segment 数组结构和 HashEntry 数组结构组成 ....................93 4.1.21. Java 中用到的线程调度 .............................................................................93 4.1.21.1. 抢占式调度................................................................................................................93 4.1.21.2. 协同式调度.................................................................................................................93 4.1.21.3. JVM 的线程调度实现抢占式调度 .......................................................................94 4.1.21.4. 线程让出 cpu 的情况 ...................................................................................94 4.1.22. 进程调度算法 ..............................................................................................94 4.1.22.1. 优先调度算法...............................................................................................................94 4.1.22.2. 高优先权优先调度算法 ..............................................................................................95 4.1.22.3. 基于时间片的轮转调度算法 ................................................................................96 4.1.23. 什么是 CAS 比较并交换-乐观锁机制-锁自旋 ...................................................96 4.1.23.1. 概念及特性.............................................................................................................96 4.1.23.2. 原子包 java.util.concurrent.atomic锁自旋............................................................97 4.1.23.3. ABA 问题...................................................................................................98 4.1.24. 什么是 AQS 抽象的队列同步器 ..........................................................................98 Exclusive 独占资源 -ReentrantLock .......................................................................................99 Share 共享资源 -Semaphore/CountDownLatch .........................................................................99 同步器的实现是 ABS 核心 state 资源状态计数 .............................................................100 ReentrantReadWriteLock 实现独占和共享两种方式 ............................................100 5. JAVA 基础 ...............................................................................................................................101 5.1.1. JAVA 异常分类及处理 ..............................................................................................................101 5.1.1.1. 概念 .........................................................................................................................101 5.1.1.2. 异常分类 ..........................................................................................................101 Error ..........................................................................................................................101 Exception RuntimeException、CheckedException .........................................................101 5.1.1.3. 异常的处理方式 ...............................................................................102 遇到问题不进行具体处理而是继续抛给调用者 throw,throws .........................................102 try catch 捕获异常针对性处理方式 ..........................................................................................102 5.1.1.4. Throw 和 throws 的区别 ......................................................................102