# 走入并行的世界
## 这该死的并行
![](https://img.kancloud.cn/eb/fd/ebfd68c4f1fbcb9413a343730c51ea41_830x586.png)
## 摩尔定律发展
![](https://img.kancloud.cn/c6/0e/c60ee819484ee37be57337bb9a774105_828x532.png)
## 一些基本概念
### 同步 vs 异步
![](https://img.kancloud.cn/1f/6b/1f6b6b7715bedf58de6453cb6cb063e3_790x490.png)
### 并发 vs 并行
![](https://img.kancloud.cn/51/b5/51b580274d520b0edefb3f35ff73c380_788x492.png)
### 临界区
多个线程的公共资源,或者说共享数据。
### 阻塞 vs 非阻塞
![](https://img.kancloud.cn/76/8d/768dcc4627a978f17cde43cf9ab2e824_788x494.png)
### 死锁、饥饿、活锁
![](https://img.kancloud.cn/11/ee/11ee29fb6f48f43fbeb13a1c1855526b_790x492.png)
## 并发级别
![](https://img.kancloud.cn/ff/ae/ffae428750960027d55dfdc2a889ff19_1618x1182.png)
## 并行加速比公式
![](https://img.kancloud.cn/ec/c4/ecc450af6fffb4c68be0a3114e9d8de9_1054x416.png)
## 参考文档
* 书籍:葛一鸣 *《Java高并发程序设计第二版》
- 面试突击
- Java虚拟机
- 认识字节码
- 000Java发展历史
- 000Macos10.15.7上编译OpenJDK8u
- 001熟悉Java内存区域
- 002熟悉HotSpot中的对象
- 003Java如何计算对象大小
- 004垃圾判定算法与4大引用
- 005回收堆和方法区中对象
- 006垃圾收集算法
- 007HotSpot虚拟机垃圾算法实现篇1
- 007HotSpot虚拟机垃圾算法实现篇2
- 007HotSpot虚拟机垃圾算法实现篇3
- 008垃圾收集器
- 009内存分配与回收策略
- 010Java虚拟机相关工具
- 011调优案例分析
- 012一次IDEA的启动速度调优
- 013类文件Class的结构
- 014熟悉字节码指令
- 015类加载机制(过程)
- 016类加载器
- IDEA的JVM参数
- Java基础
- Java自动装箱与拆箱
- Java基础数据类型
- Java方法的参数传递
- Java并发
- 001走入并行的世界
- 002并行程序基础
- 003熟悉Java内存模型JMM
- 004Java并发之volatile关键字
- 005线程池入门到精通
- 006Java多线程间的同步控制方法
- 007Java维基准测试框架JMH
- 008Java并发容器
- 009Java的线程实现
- 010Java关键字synchronized
- 011一些并行模式的熟悉
- 单例模式和不变模式
- 生产者消费者模式
- Future模式
- 012一些并行算法的熟悉
- 面试总结
- 长亮一面