一、概览
多线程主要知识点:
线程安全、线程封闭、线程调度、同步容器、并发容器、AQS、J.U.C
高并发解决方案:
扩容、缓存、队列、拆分、服务降级与熔断、数据库切库、分库分表
二、并发
概念:
同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程
将交替的换入或者换出内存,这些线程是同时“存在”的,每个线程
都处于执行过程中的某个转台,如果运行在多核处理器上,此时,程序
中的每个线程都将分配到一个处理器核上,因此可以同时运行
对CPU 与线程之间关系的理解:
https://zhidao.baidu.com/question/493102264.html
三、CPU多级缓存
随着现代半导体工艺的发展,CPU的频率越来远快,相对内存快了一个数量级,
对于访存的操作CPU就需要等待主存,这样会导致资源的白白浪费。
所以cache的出现是为了解决CPU与内存速度不匹配的问题。
对CPU多级缓存的理解:
https://blog.csdn.net/cl2010abc/article/details/80745185
https://www.cnblogs.com/yanlong300/p/8986041.html
四、Java内存模型
java 内存模型同步的八种操作 (https://blog.csdn.net/timchen525/article/details/80412699)
lock 锁定
unlock 解锁
read 读取
load 载入
use 用
assign 赋值
store 存储
write 写入
https://blog.csdn.net/javazejian/article/details/72772461
概念太多,感觉没理解好,回头重点看看
五、并发模拟工具
postman: http 请求模拟工具
Apache bench(AB): apache 附带工具,测试网站性能
JMeter: Apache 组织开发的压力测试工具
代码: Semaphore, CountDownLatch