00.Java高并发学习笔记,前言(参考《java高并发之美》)

比特追光者
• 阅读 323

我为什么写此系列文章

  • 此前看书走马观花,自己写的代码量少,书中代码案例也难以满足我的需求
  • 书籍一般干货很多,笔墨都用在讲原理逻辑上,导致案例和专业教材不同,而案例过少,专业教材都会提供大量案例和练习题,但是技术书籍每个知识点仅仅提供一两个配图和代码案例和汉语例子.这是导致我看书理解慢的原因之一,相信有很多人和我一样.

我是如何写此系列文章的

  • 因此我读书时,会增加代码案例量,扩展出至少3倍原来的代码量,3倍汉语案例讲解,让自己用更多案例(代码案例,汉语案例)来理解晦涩难懂的java高并发,未来会重写全文,加入3倍配图
  • 本系列文章核心是提供3倍代码案例扩展,提供3倍比喻帮助大家理解,提供3倍配图.实际是使用费曼学习法换一种方式(把抽象的概念转化为代码案例,图像案例,比喻案例)讲述高并发.
  • 但是书籍的架构要保留,方便大家查找书中对应概念.
  • 文章为根据我的理解和回忆进行了重构.
  • 按照教材模式编写,结构清晰,案例大量,增加思考题,练习题

java并发编程的重要性

  • 是java面试的高频考点,也是学习的难点,学习门槛较高。
  • 在业务中解决高并发问题也需要使用并发编程

文章结构

  • 基础篇

    • 线程知识
    • 高并发

      • 基本概念
      • 基础知识
  • 高级篇

    • 并发包下常用组件的原理
  • 实践篇

    • 并发组件的具体使用方法
    • 并发编程中常见问题和解决方案

读开原框架源码的心得

为何要读源码

  • 不知如何设计或者设计时候考虑不周全
  • 如何获取经验

    • 学习开源框架
    • 学习开源项目
    • 阅读公司系统源码
  • 读源码的好处

    • 如使用并发队列ArrayBlockingQueue时,不了解offer方法和put方法的区别,这时候去读源码看实现原理
    • 开阔思维,快速积累经验

如何看源码

  • 先google框架的架构,把每个模块功能和关系了解清楚
  • 对感兴趣的模块,用代码语言复现,写一个demo,然后去debug3遍

    • 第一遍

      • 核心看调用逻辑,看有哪些类,如何互相调用
      • 不要深入看对应类中的代码
    • 第二遍

      • 有重点的debug
      • 看看类有哪些功能
      • 用了哪些设计模式
    • 第三遍

      • 用图像语言复述
      • 画 时序图,类图,画出调用过程
      • 复习的时候看自己画的图,节约时间不用再看源码
  • 阅读源码中的注释
  • 不一定要读三遍源码,根据掌握程度选择,我认为至少3遍,如果能一遍掌握,那更好
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java高并发设计(十一)
一直在写java高并发的博客,突然想起自己刚开始学习相关技术开发的境况,一切都只是理论,案例是最能讲解的地方,后面的章节将从采用netty通信实现rpc的服务调用,采用hession序列化来设计netty的编码解码操作。该项目将涉及到单例设计,回调设计,数据安全设计,数据加载设计,面向接口设计。会涉及java自身的线程池,多线程执行,高并发数据安全,同时也出
Wesley13 Wesley13
3年前
Java 并发编程之美
一、前言并发编程相比Java中其他知识点学习门槛较高,从而导致很多人望而却步。但无论是职场面试,还是高并发/高流量的系统的实现,却都离不开并发编程,于是能够真正掌握并发编程的人成为了市场迫切需求的人才。二、学习并发编程Java并发编程作为Java技术栈中的一块顶梁柱,其学习成本还是比较大的,很多人学习起来感到没有头
可莉 可莉
3年前
10w字!Django+Flask+经典Python数据分析合集
大伙可能都知道Python可以应用在很多方面,比如Web开发,小编我之前在学习这一块知识的时候,也苦于查找系统的资料。对于成熟的框架比如Flask、Django,如果有一套完整的内容体悉加上实际案例,学习起来还是很快的。最近我发现了一个优质的原创博主,公众号里写了很多原创的Django系列和Flask系列的文章。恰好人
Wesley13 Wesley13
3年前
Go 性能分析之案例一
思考相信大家在实际的项目开发中会遇到这么一个事,有的程序员写的代码不仅bug少,而且性能高;而有的程序员写的代码能否流畅的跑起来,都是一个很大问题。而我们今天要讨论的就是一个关于性能优化的案例分析。案例分析我们先来构造一些基础数据(长度为10亿的切片,并赋上值):vartestDataGenerateDa
Stella981 Stella981
3年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
陈杨 陈杨
3天前
鸿蒙5开发宝藏案例分享---冷启动优化案例分享
鸿蒙冷启动优化大揭秘!这些官方宝藏案例让我效率翻倍🚀大家好呀!最近在优化鸿蒙应用时,我偶然发现了官方文档里隐藏的性能优化宝藏案例。这些实战经验让我的应用启动速度直接起飞!今天就把这些干货整理分享给大家,附详细代码解析和避坑指南一、冷启动为何如此重要?当用
陈杨 陈杨
3天前
鸿蒙5开发宝藏案例分享---Grid性能优化案例
发现鸿蒙宝藏:优化Grid组件性能的实战技巧!大家好呀!最近在鸿蒙开发者社区挖到一个超实用的性能优化案例——​​解决Grid组件加载慢、滚动卡顿的问题​​。官方其实藏了不少宝藏案例,但很多人可能没注意到。今天我就带大家拆解这个案例,加上详细讲解和代码分析,
DDD落地指南-架构师眼中的餐厅
在去年、我整理了一篇名为《》的文章,主要探讨了架构设计的目标和过程,然而、那是一篇概括性的文章,用于启发思路,并不是具体的实践指南,因此、我一直期望给出具体参考案例。我几乎忘了这件事,如今回顾、我发现并没有合适的案例可供参考,现有的案例要么不完整、要么是与
京东云开发者 京东云开发者
7个月前
Java方法设计原则与实践:从Effective Java到团队案例
作者:京东物流京东物流背景本文通过阅读《EffectiveJava》、《CleanCode》、《京东JAVA代码规范》等代码质量书籍,结合团队日常代码实践案例进行整理,抛砖引玉、分享一些在编写高质量代码方面的见解和经验。这些书籍提供了丰富的理论知识,而团队
陈杨 陈杨
3天前
鸿蒙5开发宝藏案例分享---性能分析简介
以下是根据你提供的鸿蒙开发资源整理的分享文章,结合实战案例和代码解析,风格轻松但内容干货满满👇「嘿,鸿蒙开发者!你绝对想不到官方藏了多少宝藏案例!」最近在HarmonyOS文档里扒出个「隐藏副本」——官方其实默默提供了100场景化开发案例,覆盖性能优化
陈杨 陈杨
3天前
鸿蒙5开发宝藏案例分享---分析帧率问题
鸿蒙性能优化宝藏:帧率问题实战案例解析​​嘿,各位鸿蒙开发者!​​今天分享一个开发中的大发现——鸿蒙官方文档里藏着一堆超实用的性能优化案例!这些案例不仅解决了常见的丢帧卡顿问题,还附带了详细的分析思路和代码改造方案。我整理了几个高频场景,结合代码讲解,帮你