01-Java 并发
2022-03-22 13:52:35   5  举报             
     
         
 AI智能生成
  以思维导图的形式,汇总 【Java 并发】相关的面试点
    作者其他创作
 大纲/内容
  线程池    
     为什么要用线程池?  
     Executor    
     示意图    
     分支主题  
     Executor和Executors的区别?  
     常用的JAVA线程池有哪几种类型?  
     Executors 提供了哪些创建线程池的方法?  
     流程  
     线程的5种状态           
     API    
     线程池核心参数    
     核心线程数  
     阻塞队列    
     使用队列的注意点  
     最大线程数  
     拒绝策略  
     keepAliveTime(保持存活时间  
     execute()vs submit()  
     shutdown()  vs shutdownNow()  
     isTerminated() vs  isShutdown()  
     实战    
     线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式           
     如何合理配置线程池参数?  
     源码    
     ctl    
     为啥要用一个int值表示两个组合状态  
     处理任务流程    
     为什么要有核心线程池  
     一些问题    
     核心线程怎么实现一直存活?  
     源码中线程池是怎么复用线程的?  
     非核心线程能成为核心线程吗?  
     非核心线程如何实现在 keepAliveTime 后死亡?  
     一个线程异常了会怎么样?  
     并发工具    
     Fork/Join框架  
     获得任务执行结果    
     三种submit()  
     Future    
     API  
     FutureTask 工具类  
     Semaphore 信号量    
     是什么?    
     为什么要有?  
     基于AQS的同步组件    
     CountDownLatch    
     原理  
     应用  
     不足  
     CyclicBarrier    
     CyclicBarrier    
     怎么用?  
     线程安全    
     保证线程安全的方式  
     线程安全的类有哪些,平时有使用么,用来解决什么问题    
     ConcurrentHashMap    
     策略模式+工厂模式  
     线程基础    
     概念    
     1.线程和进程有什么区别?    
     什么是进程  
     什么是线程    
     一个进程最多能有几个线程  
     进程与线程区别 JVM角度  
     3.为什么要使用多线程呢?  
     什么是线程上下文切换  
     守护线程    
     是什么  
     和操作系统的关系    
     线程实现    
     在用户空间实现线程    
     优势    
     劣势  
     在内核空间实现    
     优劣势  
     混合实现  
     内核线程的一些系统调用函数  
     线程的状态流转?    
     线程阻塞的三种情况  
     线程死亡的三种方式  
     状态流转           
     线程死锁?    
     死锁必须具备以下四个条件?  
     如何预防避免线程死锁?    
     预防    
     避免  
     如何检测死锁/发现死锁  
     API    
     创建线程的三种方式的对比?    
      Runnable VS Callable  
     Callable是怎么拿到返回结果的  
     如何创建线程实例并运行?  
     sleep()方法和wait()方法区别和共同点?  
     yield()  
     8.为什么我们调用start(0方法时会执行run()方法,为什么我们不能直接调用run()方法  
     ThreadLocal    
     29.ThreadLocal是什么?  
     31.知道ThreadLocal内存泄露问题吗?  
     30.ThreadLocall的实现原理  
     如果不remove,出问题了怎么补救?  
     JMM    
     synchronized    
     使用场景  
     作用用法    
     构造方法可以使用 synchronized 关键字修饰么?  
     底层实现原理?    
     底层monitor对象的原理  
     比较    
     synchronized和ReentrantLock区别是什么?  
     synchronized 和 Lock 有什么区别?  
     synchronized和volatile的区别是什么?  
     锁优化    
     为什么锁升级  
     编译器优化    
     锁膨胀    
     锁消除    
     锁粗化    
     自旋锁与自适应自旋锁  
     锁升级优化    
     偏向锁    
     为什么要有?    
     偏向锁原理和升级过程  
     过程    
     分支主题  
     轻量级锁    
     轻量级锁原理和升级过程  
     自旋锁与重量级锁  
     一些问题    
     synchronized为什么是非公平锁?非公平体现在哪些地方?  
     synchronized锁能降级吗?  
     并发编程的三特性    
     原子性  
     volatile    
     使用场景    
     指令重排  
     CPU缓存结构    
     JMM内存模型  
     实现原理    
     可见性    
     指令重排  
     原子类    
     3.简单介绍一下Atomiclnteger类的原理?  
     2.JUC包中的原子类是哪4类?  
     CAS    
     CAS是什么?    
     处理器如何实现原子操作  
     CAS有什么缺陷?  
     无锁只有cas一种实现吗 ,有其他实现方式吗  
     Happens-Before  
     JMM    
     概述  
     锁    
     ReentrantLock    
     21.synchronized和ReentrantLock区别是什么?  
     源码    
     公平锁 和 非公平锁  
     可重入性  
     AQS    
     1.说一说什么是AQS?    
     流程    
     分支主题  
     原理    
     了解AQS对资源的共享方式吗?  
     AQS使用了哪些设计模式?  
     锁分离优化 Lock 同步锁    
     ReentrantReadWriteLock    
     实现原理  
     ReadWriteLock是什么?  
     自旋锁  
     乐观锁和悲观锁    
     分支主题  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 