【JUC】提示性笔记:JUC学习规划

文章讲述了作者在项目中遇到性能瓶颈后,决定系统学习Java并发工具(JUC)以避免类似问题。作者分享了结合自身情况的JUC学习计划,包括理论书籍、博客和实践章节,旨在提升并发编程能力并避免未来项目风险。
摘要由CSDN通过智能技术生成

0. 背景

某次项目交付中发现受限于客户物理机性能,无法将接口的rt由100s,优化至预期的5s,期间排查了好多种原因,磕磕绊绊最终才定位到问题;这才发现自己并没有搞清楚JUC,大多情况更多是:

  • 性能不够就起个线程池
  • 遇到竟态条件就无脑加锁调试;

花了好多不必要的时间,也给项目带来了很大的风险,故想再系统的学习一遍JUC以绝后患。

本文仅结合自身情况,制定的JUC学习计划,并不一定适合所有同学。预计通过刷书,刷优质博客,复盘工作场景的方式,巩固并发编程基础,提升并发场景下解决问题的能力。

1. 学习资源

  • 书单
    • 《Java并发编程实战》Brian Goetz 机械工业出版社
    • 《Java并发编程艺术》方腾飞 机械工业出版社
    • 以下用于查缺补漏作为工具书
      • 《趣话计算机底层技术》轩辕之风 电子工业出版社 (补充一些常识性的底层知识)
      • 《ONJAVA 进阶卷》Bruce Eckel 人民邮电出版社
      • 《Java核心技术卷Ⅰ》Cay S.Horstmann 机械工业出版
  • 博客
    • https://github.com/CL0610/Java-concurrency
  • 视频(没看过,也不打算看,仅列举两个热门视频)
    • 《尚硅谷》https://www.bilibili.com/video/BV1Kw411Z7dF/
    • 《黑马》https://www.bilibili.com/video/BV16J411h7Rd/?vd_source=07f0400fb1a391b638b07b3696b90011

2. 计划

由于工作日每天大概只有1-2个小时的时间,周六日只有8~12小时的时间,所以进度会慢一些

1.1 并发编程相关概念(第一周)

《Java并发编程艺术》1-2章,《趣话计算机底层技术》1-5章《ONJAVA 进阶卷》《Java核心技术卷Ⅰ》查缺补漏;
中午摸鱼的时候可以看CL0610中的博客

  • 线程和进程
  • 线程状态
  • 死锁
  • Java内存模型

1.2 Java内存模型 (第二周)

《Java并发编程艺术》 3章

  • 重排序
  • happend-before
  • volatile、锁、final的被创业板语义
  • JMM

1.3 Java并发编程基础 (第三周)

《Java并发编程艺术》 4-5章

  • 线程的创建和终止方式
  • 线程间通信方式
  • Lock
  • 队列同步器
  • 重入锁
  • 读写锁
  • LockSupport
  • Condition

1.4 JUC实践 (第四周)

《Java并发编程艺术》 6-8章

  • 线程安全容器类
  • 阻塞队列
  • Fork/Join
  • 原子操作类
  • 并发工具类

1.5 线程池和Executro框架 (第五周)

《Java并发编程艺术》9-10章

  • 线程池的底层实现
  • 线程池的基本参数
  • 线程池的使用
  • Executor框架两级调度、结构、成员
  • 几种Executor的使用
  • FutrueTask

1.6 Java并发编程实践 (第6周)

《Java并发编程艺术》11章

  • 生产者消费者模式场景搭建
  • 线上问题定位的一系列tricky技巧
  • 性能测试
  • 异步任务调度

TODO《Java并发编程实战》(第7周以后)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值