4面字节跳动拿到Offer,分享面经!

初识多线程

    介绍进程 回到线程 进程与线程 并行与并发 Javs实现多线程 Java实现多线程需要注意的细节

Thread线程类API

设置线程名 守护线程 优先级线程 线程生命周期

使用多线程需要注意的问题

    线程安全问题 性能问题 安全发布对象 简述解决线程安全性的办法 原子性和可见性 线程封闭 不变性 线程安全性委托

synchronized锁和lock锁

    synchronized锁 Lock显式锁 Java锁简单总结

AQS

    AQS是什么? 同步状态 先进先出队列 sacquire方法 release方法

ReentrantLock

    内部类 构造方法 非公平lock方法 公平lock方法 unlock方法

ReentrantReadWriteLock

    ReentrantReadWriteLock内部类 读锁和写锁的状态表示 写锁的获取 读锁获职

线程池

    线程池简介 JDK提供的线程池API ForkJoinPool线程池 Callable和Future ThreadPoolExecutor详解 execute执行方法 线程池关闭

死锁

    锁顺序死锁 动态锁顺序死锁 协作对象之间发生死锁 固定锁顺序避免死锁 开放调用避免死锁 使用定时锁 死锁检测

线程常用的工具类

    CountDownLatch CyclicBarrier Semaphore

Atomic

    基础铺垫 CAS失败重试(自旋) 原子变量类简单介绍 LongAdder、AtomicLong性能对比

ThreadLocal

    什么是ThreadLocal 为什么要学习ThreadLocal? ThreadLocal底层原理总结 避免内存泄露

最后

手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都都可提供源文件给每位爱学习的朋友,

传,导出图片展现),但都都可提供源文件给每位爱学习的朋友,

[外链图片转存中…(img-Rxhkox5x-1626248330935)]

经验分享 程序员 微信小程序 职场和发展