自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Java之volatile,及其对可见性、有序性、原子性的影响

引入内存语义实现原理

2020-06-14 13:41:49 427

原创 JMM—Java内存模型 及其原子性、可见性、有序性

1.引入众所周知,现在计算机多数还都是基于冯诺依曼计算机模型,这也是现代计算机物理结构的基础。Java应用拥有跨平台的特性,主要归功于Java虚拟机,它为Java应用提供了逻辑上的运行环境。如果说冯诺依曼计算机模型是物理结构上的划分,那么JVM就是逻辑结构上划分,那JMM又是什么呢?2.概念JMM((Java Memory Model)是一种抽象的概念,并不真实存在。它所定义的规范规定了程序中的变量在共享数据区域和私有数据区域的访问方式,主要是围绕原子性,有序性、可见性展开。JMM把内存分为了主内存

2020-06-03 20:51:48 536

原创 Java多线程与并发 浅析

进程与线程进程是系统分配资源的基本单位,线程是调度CPU的基本单位。一个进程至少包含包含一个线程,线程寄生在进程当中。每一个线程都有一个程序计数器、一组寄存器、堆栈。线程等级线程分为两类:用户级线程(ULT,User-Level Threa),内核级线程(KLT,Kernel-Level Thread)。系统空间分为两类:用户空间,内核空间。用户级线程只能访问用户空间,不能访问内核空间,如有需要则须借助系统提供的接口。划分线程等级是为了保护系统的安全性。以下是ULT和KLT在系统空间中的分

2020-06-02 14:20:24 298

原创 浅析 缓存一致性协议

释义缓存一致性协议指的是在计算机中,为保证多CPU从内存读取到缓存中的数据一致,而定义的一种解决方案。由来1.为什么要不使用多CPU假如一台计算机只有一个CPU,想要同时执行多个进程,就需要经常进行上下文切换,这个代价是比较大的,所以为了提高性能,一台计算机往往有多个CPU。2.CPU是如何进行工作的要理解CPU的工作方式,首先要知道计算机是怎么工作的。CPU在读取数据的时候,首先是在自己的寄存器和缓存中查看有没有,如果有就直接使用,如果没有则需要去内存中取。而寄存器和缓存存在的价值,就在于比

2020-06-01 14:36:05 1058

原创 简单理解计算机硬件结构与工作流程

名词解释控制单元:控制单元是CPU的指挥中心,甚至是整套系统的控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)三个部件组成。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。运算单元:运算单元指的是CPU中的运算器的运算器最小单元

2020-05-31 11:23:12 1314

原创 简单理解冯诺依曼计算机模型

引入计算机是如何工作的,冯诺依曼体系结构是最好的体现,如图1。冯诺依曼结构是由数学家冯·诺依曼提出,主要由运算器、控制器、存储器、输入设备、输出设备5部分组成。要点1.数据和指令一视同仁,都采用二进制存储。2.按照程序顺序执行,也就是按照顺序从内存中一条一条读取指令。组成1.运算器:顾名思义,主要进行计算,算术运算、逻辑运算等都由它来完成。2.存储器:这里存储器只是内存,不包括内存,用于存储数据、指令信息。3.控制器:控制器是是所有设备的调度中心,系统的正常运行都是有它来调配。4.输入设

2020-05-29 15:55:18 8882

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除