Java高并发--CPU多级缓存与Java内存模型 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 CPU多级缓存 为什么需要CPU缓存:CPU的频率太快,以至于主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费了资源.所有缓存的出现是为了缓解CPU和主存之间速度不匹配的问题--将运算所需数据复制到缓存中,使得运算能快速进行:当运算结束后再将缓存同步回内存中,这样处理器无需等待缓慢的内存读写. 缓存并非存储了所有的数据,那么它存在的意义是什么? 时间局部性:如…
转自:https://blog.csdn.net/gududedabai/article/details/80816488…
Java高并发系列--检视阅读 参考 java高并发系列 liaoxuefeng Java教程 CompletableFuture AQS原理没讲,需要找资料补充. JUC中常见的集合原来没讲,比如ConcurrentHashMap最常用的,后面的都很泛,没有深入,虎头蛇尾. 阻塞队列讲得不够深入. 并发概念词 同步(Synchronous)和异步(Asynchronous) 同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为.异步方法调用更…
Java高并发--缓存 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 在下图中每一个部分都可以使用缓存的技术. 缓存的特征 缓存命中:直接通过缓存获取到数据 命中率:命中数 / (命中数+ 未命中数) 最大元素(空间):超过最大空间将触发缓存清空策略 清空策略:FIFO(先进先出).LFU(最少使用).LRU(最近最少使用).过期时间.随机 缓存的粒度越小,缓存命中率越高,对比缓存一整个集合和集合中的某一个元素,或者一整个对象和对象的其中一个属性. 缓存适合的业务场景:读…
JAVA系统架构高并发解决方案 分布式缓存 分布式事务解决方案…
一.CPU多级缓存-乱序执行优化 处理器或编译器为提高运算速度而做出违背代码原有顺序的优化. 重排序遵循原则as-if-serial as-if-serial语义:不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不会改变. 编译器.runtime和处理器都必须遵守as-if-serial语义. 为了遵守as-if-serial语义,编译器和处理器不会对存在数据依赖关系的操作做重排序,因为这种重排序会改变执行结果. 但是,如果操作之间不存在数据依赖关系,这些操作就可能被编译…
​前言: 文章内容:线程与进程.线程生命周期.线程中断.线程常见问题总结 本文章内容来源于笔者学习笔记,内容可能与相关书籍内容重合 偏向于知识核心总结,非零基础学习文章,可用于知识的体系建立,核心内容复习,如果帮助,十分荣幸 相关文献:并发编程实战.计算机原理 CPU多级缓存架构 要学习多级缓存架构,我们首先要了解一些计算机的小知识 CPU缓存行(CPU Cache Line): CPU缓存中可分配的最小存储单元,通常64字节,缓存行是分段的,一个段对应一块. CPU看到一条读取内存的指令时,会…
Java高并发--原子性可见性有序性 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 原子性:指一个操作不可中断,一个线程一旦开始,直到执行完成都不会被其他线程干扰.换句话说原子性保证了任何时刻只有一个线程在对共享变量进行操作. 可见性:指当一个线程修改了某个共享变量的值,其他线程是否能立即知道这个修改. 有序性:一个线程观察其他线程中的指令,由于指令重排序的存在,该观察结果一般杂乱无序 原子性 AtomicInteger JDK的atomic包下提供了许多"原子…
读马士兵java高并发编程,引用他的代码,做个记录. 一.分析下面程序输出: /** * 分析一下这个程序的输出 * @author mashibing */ package yxxy.c_005; public class T implements Runnable { private int count = 10; public synchronized void run() { count--; System.out.println(Thread.currentThread().getNa…
文章目录 第二章 Java并行程序基础 2.1 线程的基本操作 2.1.1 线程中断 2.1.2 等待(wait)和通知(notify) 2.1.3 等待线程结束(join)和谦让(yield) 2.2 volatile与Java内存模型(JMM) 2.3 线程组 2.4 守护线程(Daemon) 2.5 线程安全的概念和synchronized 第三章 JDK 并发包 3.1 同步控制 3.1.1 可重入锁(ReentrantLock) 1.锁申请等待超时 2.公平锁 3.1.2 条件(con…