20W字详细总结Java并发基础知识

随着多核CPU的普及,并发编程已成为提升应用性能的关键技术。本文从摩尔定律的变化入手,介绍了多核CPU的发展背景,探讨了并发编程如何充分利用多核优势,并通过具体案例展示了其在图像处理和电商交易等领域的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要用到并发?

一直以来,硬件的发展极其迅速,也有一个很著名的"摩尔定律",可能会奇怪明明讨论的是并发编程为什么会扯到了硬件的发展,这其中的关系应该是多核CPU的发展为并发编程提供的硬件基础。摩尔定律并不是一种自然法则或者是物理定律,它只是基于认为观测数据后,对未来的一种预测。按照所预测的速度,我们的计算能力会按照指数级别的速度增长,不久以后会拥有超强的计算能力,正是在畅想未来的时候,2004年,Intel宣布4GHz芯片的计划推迟到2005年,然后在2004年秋季,Intel宣布彻底取消4GHz的计划,也就是说摩尔定律的有效性超过了半个世纪戛然而止。但是,聪明的硬件工程师并没有停止研发的脚步,他们为了进一步提升计算速度,而不是再追求单独的计算单元,而是将多个计算单元整合到了一起,也就是形成了多核CPU。短短十几年的时间,家用型CPU,比如Intel i7就可以达到4核心甚至8核心。而专业服务器则通常可以达到几个独立的CPU,每一个CPU甚至拥有多达8个以上的内核。因此,摩尔定律似乎在CPU核心扩展上继续得到体验。因此,多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。

顶级计算机科学家Donald Ervin Knuth如此评价这种情况:在我看来,这种现象(并发)或多或少是由于硬件设计者无计可施了导致的,他们将摩尔定律的责任推给了软件开发者。

另外,在特殊的业务场景下先天的就适合于并发编程。比如在图像处理领域,一张1024X768像素的图片,包含达到78万6千多个像素。即时将所有的像素遍历一边都需要很长的时间,面对如此复杂的计算量就需要充分利用多核的计算的能力。又比如当我们在网上购物时,为了提升响应速度,需要拆分,减库存,生成订单等等这些操作,就可以进行拆分利用多线程的技术完成。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分 。正是因为这些优点,使得多线程技术能够得到重视,也是一名学习者应该掌握的:

充分利用多核CPU的计算能力;
方便进行业务拆分,提升应用性能

一直以来并发编程对于刚入行的小白来说总是觉得高深莫测,于是乎,阿里P8级的架构大牛特别整理了一份《并发编程》文档,帮你精准消除并发编程的技术盲点!

由于篇幅原因,为了不影响阅读,以下是粗略展示

目录:

1. 概览:

  1. 这门课讲什么
  2. 为什么学这么课
  3. 课程特色
  4. 预备知识

     

2. 进程与线程

  1. 进程与线程
  2. 并行与并发
  3. 应用

     

3. Java 线程

  1. 创建和运行线程
  2. 观察多个线程同时运行
  3. 查看进程线程的方法
    • 原理之线程运行
  4. 常见方法
  5. start 与 run
  6. sleep 与 yield
  7. join 方法详解
  8. interrupt 方法详解
  9. 不推荐的方法
  10. 主线程与守护线程
  11. 五种状态
  12. 六种状态

     

4. 共享模型之管程

  1. 共享带来的问题
  2. synchronized 解决方案
  3. 方法上的 synchronized
  4. 变量的线程安全分析
  5. 习题
  6. Monitor 概念
  7. wait notify wait notify 的正确姿势
  8. Park & Unpark
  9. 重新理解线程状态转换
  10. 多把锁
  11. 活跃性
  12. ReentrantLock

     

5. 共享模型之内存

  1. ava 内存模型
  2. 可见性
  3. 有序性

     

6. 共享模型之无锁

  1. 问题提出
  2. CAS 与 volatile
  3. 原子整数
  4. 原子引用
  5. 原子数组
  6. 字段更新器
  7. 原子累加器
  8. Unsafe

     

7. 共享模型之不可变

  1. 日期转换的问题
  2. 不可变设计
  3. 无状态

     

8. 共享模型之工具

  1. 线程池
  2. J.U.C

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值