Intel CPU漏洞分析报告 预备知识 存储分级 由于计算机存储分级的特性(第一级:寄存器,第二级:高速缓存,第三级:内存,第四级:磁盘),每一级之间的访问速度差距高达数量级。所以处理器会将用到的数据和指令加载进高速缓存(现代CPU分指令高速缓存与数据高速缓存),以提高计算机的执行速度。其加载数据 ...
分类:
其他好文 时间:
2018-08-09 14:09:55
阅读次数:
123
时间尚早,今天多写一点 温故知新(三) Synchronized与volatile Synchronized 有以下两个含义: 一、一次只有一个线程可以执行代码的受保护部分 二、一个线程更改的数据对于其他线程是可见的 volatile只适合于控制对基本变量(int、boolean等)的单个实例的访问 ...
分类:
其他好文 时间:
2018-08-09 01:19:09
阅读次数:
122
关于硬件的高速缓存的详细讨论超出了本文的讨论范围。但是在有些情况下软件高速缓存能被用于加速I/O。考虑从一个文本文件里面以随机顺序读取一行的情况,这样做的一个方法是读取所有的行,然后把它们存入一个ArrayList (一个类似Vector的集合类): import java.io.*; import ...
分类:
其他好文 时间:
2018-08-07 01:31:25
阅读次数:
168
一、硬件与效率的一致性 计算机的存储设备与处理器的运算速度存在几个数量级的差距,现在计算机系统不得不在内存和处理器之间增加一层高速缓存(cache)来作为缓冲。将运算需要的数据复制到缓存中,让运算能够快速进行,当运算结束的时候再讲数据从缓存同步到内存中,这样处理器无须等待缓慢的内存读写。除了增加高速 ...
分类:
编程语言 时间:
2018-08-05 14:21:37
阅读次数:
221
本文涉及的内容有: 网络层次划分/TCP/IP协议、三次握手和四次握手/进程与线程/进程调度算法/死锁/高速缓存Cache/最近最久未使用置换算法LRU的JAVA实现 1、网络层次划分 为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978 ...
分类:
其他好文 时间:
2018-07-29 11:49:31
阅读次数:
176
一、java内存模型 1.java内存模型 程序运行过程中的临时数据是存放在主存(物理内存)中,但是现代计算机CPU的运算能力和速度非常的高效,从内存中读取和写入数据的速度跟不上CPU的处理速度,在这种情况下,CPU高速缓存应运而生。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但是出现 ...
分类:
编程语言 时间:
2018-07-25 20:46:46
阅读次数:
171
redis 阶段一、认识redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:RemoteDictionary Server,该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据 ...
分类:
其他好文 时间:
2018-07-06 23:23:03
阅读次数:
195
一、redis简介 (一)什么是redis 1.redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 内存数据库。2.特点:读写性能强悍 支持丰富的数据结构 可持久化存储 一个把数据存储在内存中的高速缓存3.作者是antirez from Ita ...
分类:
其他好文 时间:
2018-06-29 12:11:19
阅读次数:
157
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,C ...
分类:
编程语言 时间:
2018-06-24 19:27:03
阅读次数:
176
Java虚拟机 内存模型与线程 高速缓存:处理器要与内存交互,如读取、存储运算结果,而计算机的存储设备和处理器的运算速度差异巨大,所以加入一层读写速度和处理器接近的高速缓存来作为内存和处理器之间的缓冲——将运算所需数据复制到缓存中,使得运算能快速进行;当运算结束后再将缓存同步回内存中,这样处理器无需 ...
分类:
编程语言 时间:
2018-06-20 16:33:27
阅读次数:
184