zoukankan      html  css  js  c++  java
  • Java并发基础知识你知道多少?

    并发

    https://blog.csdn.net/justloveyou_/article/details/53672005

    • 并发的三个特性是什么?
    • 什么是指令重排序?
    • 单线程的指令重排序靠什么保证正确的结果?
    • 原子性操作有哪些?
    • 赋值操作都属于原子性操作吗?
    • sychronized和lock如何保证可见性?

    synchronized

    https://www.cnblogs.com/paddix/p/5367116.html

    https://blog.csdn.net/justloveyou_/article/details/54381099

    • synchronized 实现原理
    • 为什么一般不用string作为锁

    内存模型

    https://blog.csdn.net/justloveyou_/article/details/53672005

    • 什么是缓存一致性问题?
    • 缓存一致性协议原理?
    • 线程工作内存与主存同步的时机?
    • println()为什么和volatile,sychronize一样都可以做到上述同步?

    volatile

    https://blog.csdn.net/justloveyou_/article/details/53672005

    http://ifeve.com/volatile/

    • 保证了并发的哪个特性?
    • 作用?
    • 原理?
    • 应用场景?
    • 变量多个线程读写原则是什么?
    • volatile可以保证原子性吗?
    • volatile允许指令重排序吗?

    threadLocal

    https://blog.csdn.net/justloveyou_/article/details/54613085

    https://slnddd.iteye.com/blog/2373374

    https://blog.csdn.net/u013735511/article/details/70416597

    • 什么是ThreadLocal
    • 原理是什么?
    • ThreadLocalMap的key和value分别是什么?
    • 应用场景?
    • 使用步骤?
    • Thread中使用Looper与Thread关联
    • Thread和局部变量的区别?

     ThreadLocal内存泄漏

    https://blog.csdn.net/justloveyou_/article/details/78313167

    为什么threadLocal会内存泄漏?

    怎么解决? 

    http://ifeve.com/java-synchronized/

    • 什么是CAS?
    • 对于同步方法,同步静态方法,同步对象,锁的对象分别是什么?
    • jvm角度分析锁同步的原理。用什么方法,取得什么的所有权?
    • 锁的四种状态或者类型?
    • 什么是自旋和膨胀?

    偏向锁

    • 竞争机制?
    • 获得和撤销流程?
    • 使用场景?

    轻量级锁

    • 竞争机制?
    • 获得和撤销流程?
    • 使用场景?

    Lock

    相比于synchronized的三个优点?

    相比于synchronized的两个要注意的地方?

    使用locks时如何处理异常?

    trylock()的使用?

    lockInterruptibly()和synchronized的interrupt()的区别?

    lock变量作为线程局部变量有用吗?

    tryLock()和tryLock(time), lockInterruptibly()的区别?

    如果lock()或者lockInterruptibly()放在try{}里面会怎么样?

    ReentrantLock继承了什么接口?

    ReentrantReadWriteLock使用方法?

    一个线程占了读锁,另一个线程申请写锁会怎么样?

    一个线程占了写锁,另一个线程申请读锁会怎么样?

    ReentrantReadWriteLock和synchronized的区别?

    什么是公平锁和非公平锁?

    线程

    Java多线程系列--“基础篇”01之 基本概念

    • 线程的五个状态调度图?
    • blocked的三种情况?
    • run和start区别?

     https://blog.csdn.net/justloveyou_/article/details/54347954

    • 什么是线程的上下文切换?
    • 上下文切换时通常需要保存哪些东西?

    notify, wait, yield, join

    java - 线程等待与唤醒

    Java - 线程让步和休眠

    Java - 线程Join与interrupt

    • wait是使哪个线程等待?
    • notify和wait为什么定义在object中而不是thread中?
    • yield让出的是什么?
    • yield和wait的区别?
    • join的作用?
    • 为什么son.join()是让主线程等待?
    • wait yield, sleep会释放锁码?

    interrupt

    Java多线程系列--“基础篇”09之 interrupt()和线程终止方式

    • 作用?
    • interrupt阻塞状态线程过程?
    • 如何中止while(true)的线程?
    • interrupt运行状态线程过程?
    • interrupted()和isinterrupted()区别?

    守护线程定义?

    Java - 线程优先级和守护线程

    线程池 ThreadPoolExecutor

    Java - "JUC线程池" ThreadPoolExecutor原理解析

    • 类结构?
    • worker作用?
    • blockingQueue作用?
    • 四种blockingQueue区别?
    • mainlock作用?
    • corePool和maxPool处理逻辑?
    • handler作用?
    • 线程池的五个状态?
    • stop和shutdown区别?
    • 如何合理地配置线程池

    线程拒绝策略

    http://www.cnblogs.com/skywang12345/p/3512947.html#a21

    • abort, discard, discardoldest, callerruns区别
    • 适用场景?

    callable和future

    Java多线程系列--“JUC线程池”06之 Callable和Future

    • callable作用与用法?
    • future作用与用法?
    • callable与runable区别?
    • futuretask与他们的关系?
    • 他们的源码实现?

    CAS是什么?

    https://blog.csdn.net/justloveyou_/article/details/78313167

    什么是ABA问题?怎么解决?

    锁优化

    https://blog.csdn.net/justloveyou_/article/details/78313167

    自旋是什么?为什么要自旋?

    锁粗化是什么?为什么要这样?

    偏向锁是什么?

    锁消除是什么?

  • 相关阅读:
    ZOJ 3818 Pretty Poem
    HDU 4597 Play Game
    HDU 4497 GCD and LCM
    CSU 1335 高桥和低桥
    UVA 10791 Minimum Sum LCM
    CSU 1119 Collecting Coins
    CSU 1120 病毒
    UVA 12169 Disgruntled Judge
    HDU 1301 Jungle Roads
    POJ 1258 Agri-Net
  • 原文地址:https://www.cnblogs.com/qlky/p/10657859.html
Copyright © 2011-2022 走看看