
cpu-jvm
文章平均质量分 69
陈豪小可爱
生活需要操练起来了
展开
-
aqs-描述
看了aqs的源码,写个感悟,但是不知道如何描述让别人看的明白。什么是aqs首先aqs是一个并发的框架,全称AbstractQueuedSynchronizer。整个框架的核心是FIFO队列,根据state状态,标示当前线程是不是加锁成功。以aqs为核心有哪些锁主要有两种锁,独占锁和共享锁。 独占锁又分为公平锁和非公平锁以源码分析看核心看代码,以独占锁的公平锁为例子 public static void test1(){ // 1:创建ReentrantLoc原创 2022-03-14 22:50:04 · 868 阅读 · 0 评论 -
cp到线程 的一个感悟
目录一:cpu二:cpu的3级缓存三:JMM内存模型四:多线程下的,原子性,可见性,有序性问题 1: 指令重排发生问题五:如何保证原子性,有序性,可见性六:内存屏障1:被volatile修饰,加入内存屏障,禁止特定情况下指令重排介绍:之前时不时就会看看线程 cpu,之类。但是总是没有感觉,你没感觉错是没有感觉看的很死板。 经过很长时间积累,发现他们的有点关联,在此记录分享下。一般写东西,都说 这个并发问题,并发安全问题。以前迷糊,现...原创 2022-03-01 20:20:30 · 588 阅读 · 0 评论 -
如何优化代码(cpu请求内存)
提高查询速度,众所周知一般缓存到(缓存)redis,查询(缓存)redis。减少mysql查询 举个例子,java执行一条代码,从数据库取出两个数据,int a=4,int b=6, 把这个两个数相加。执行的步骤,就是,先从数据库或者缓存中,把数据加载到内存中,数据再从内存交给cpu执行引擎进行处理。 咱们知道cpu从内存中查询数据是很快的, 但是对于计算机来说还是很慢的。这里我输出一下我理解的,代码,如何减少cpu查询内存次数。提高速度。cpu...原创 2021-08-26 10:48:33 · 686 阅读 · 0 评论 -
cpu的运行级别和操作系统内存管理
cpu的运行级别1:cpu有四个运行级别,ring0 ,ring1,ring2 ,ring3, 2:linux和windows目前只用,ring0,ring3 3:操作系统内部用ring0,操作系统以外的第三方程序(例如:java)运行在ring3级别 4:如果java要调用操作系统内部的函数或者指令,需要从安全级别ring3切换到ring0,这就是上下文切换操作系统内存管理1:内存有种类型,一种用户空间(简称用户态),一种内核空间(简称内核态)2:用户空间:用户调用3:内核空间:原创 2021-08-25 11:59:32 · 1373 阅读 · 0 评论 -
cpu操作做系统理论- cpu3级缓存,空间局部性
1:一个电脑可以安装多个cpu, 根据电脑主板是否支持。 2:每个cpu有多个核,多个核提升cpu并行的处理能力3:cpu有三级缓存,镶嵌在cpu中,解决内存性能跟不上的问题4:一个cpu有多个核, 每一个核处理一个线程。 l1,l2缓存是每个核独有的,l3缓存是多个核共享的。5:当加cpu的和处理 处理一段加法运算。先从l1缓存找数据,没有依次从l2,l3找,都找不到,去内存中加载数据,依次在l3,l2,l1中复制该数据6:l1,l2,l3 最小存储单位是缓存行,6...原创 2021-08-24 17:49:51 · 457 阅读 · 0 评论 -
java的内存模型-JMM和volatile
JMM:是一组规则,主要是控制程序中的各个变量在共享数据区域和私有数据区域的访问方式。 JMM主要围绕着原子性,有序性,可见性主内存:所有线程创建的实例对象,不管该对象是成员变量还是方法中的本地变量,类信息,常量,静态变量等。工作内存:每个线程只能访问自己的工作内存多条线程访问主内存会发生安全问题一个变量,如何从主内存拷贝到工作内存中,从工作内存同步到主内存,JMM定义了8大原子操作数据同步八大原子操作(1)lock(锁定):作用于主内存的变量...原创 2021-08-25 17:59:10 · 125 阅读 · 0 评论