CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
自我学习:
一.线程安全日期格式化操作的几种方式:
1.每次new一个新对象:
public static Date parse(String date) throws ParseException {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);
}
2.通过ThreadLocal进行处理
private static final ThreadLocal<DateFormat> LOCAL_DATE_FORMAT = new ThreadLocal<DateFormat>(){
@Override
protected DateFormat initialValue() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
}
3.java8 通过 DateTimeFormatter 进行处理:
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(date, DATE_TIME_FORMATTER);
LOCAL_DATE_FORMAT.get().parse(date);
二.ConcurrentHahsMap ---1.7和1.8区别:
三.AtomicInteger学习
四.Thread.yield();// 将当前线程从 running->runnable 可能无效果,因为进入等待队列,可能瞬间抢到cpu资源
五.计算机存储分类:
寄存器(register)
高速缓冲存储器(cache),即缓存
主存储器(main memory),即内存
快闪存储器(flash memory),即闪存
磁盘存储器(magnetic-disk storage),即硬盘、磁盘
光学存储器(optical storage)
磁带存储器(tape storage)
寄存器:是CPU一部分,离CPU最近,访问数据最快的存储介质,用来做一些最基本的指令和地址看查询。一般先对缓存查询,查询不到查询内存,然后取数据给 CPU,CPU处理完暂时放在寄存器中,再从寄存器存到内存中。
寄存器可以不需要很大容量 但要匹配CPU数据传输速度 ----高性能,高耗电
高速缓冲存储器(缓存):CPU频繁访问的数据 放到缓存中------防止在寄存器中无数据 需要到内存中取。耗时过多。------相比较 从缓存和内存。周期相差50-200周期
缓存使用的 比一般的RAM(Random Access Memory)存取速度更快SRAM(Static Random Access Memory)。RAM一般分为静态RAM(static RAM, SRAM)和动态RAM(dynamic RAM, DRAM)。SRAM的速度虽然比DRAM快,但成本高得多,所以不可能将DRAM全部替换成SRAM。但是为了扩大缓存容量,工程师增加了多个高速动态RAM,将原来的SRAM叫做一级缓存,新增的DRAM叫做二级缓存。CPU访问数据先是在一级缓存中找,找不到再到二级缓存中找,再没有就去内存中找。
主存储器:就是我们常说的(狭义的)“内存”。使用的是DRAM。
它之所以叫动态,是因为将数据写入DRAM后,一段时间过后数据会丢失,需要一个额外的电路不断对其进行刷新操作才行。因为DRAM储存数据利用的是电容中是否有电荷,有代表1,无代表0。但是电容会放电或吸电,刷新操作会对其进行检查。如果电量大于满电量的1/2,则将电充满,否则将电全部放掉
SRAM虽然不需要刷新操作,但是断电后仍会丢失数据。所以RAM都要在有电源时工作。
内存和缓存在广义上整体被称为内存储器(简称内存)或主存储器,而其他外部不依赖电存储数据的设备(如磁盘、光盘等)统称外存储器或辅助存储器。内存是CPU和外部存储设备之间的桥梁,用来存放那些将要被CPU处理的数据,以及与外部设备交换数据。
除了RAM,还有一种内存被称为ROM(Read Only Memory)。ROM的速度要远远慢于RAM,只能读取,不能写入,可在断电后保存数据。ROM一般用来存储一些固定的系统软件或字库,PC的BIOS芯片就是ROM。由于ROM不能改写、不能升级,现在已经很少使用。早期的游戏卡带也是ROM。
需要指出的是,由于ROM断电后可存储数据,很多人将ROM和硬盘混为一谈,实际上两者完全不同。ROM是内存储器,硬盘是外存储器。
快闪存储器即是我们常说的”闪存“。不同于内存,它在电源关闭时(或故障时)数据可保存下来。
它是一种外部存储器,多用于照相机、音乐播放器、手机等设备(如SD卡,Secure Digital Memory Card)。现在的游戏卡一般都是闪存。U盘用的也是快闪技术。另外,快闪存储器也在作为磁盘存储器的替代品越来越多地被使用,即所谓的”固态硬盘(ssd,solid state disk)“。
磁盘存储器:
磁盘存储器就是”磁盘“、”硬盘“或”机械硬盘“。
是长期联机存储数据的主要介质。为了能够访问数据,系统必须将数据从磁盘移到内存。完成处理后,数据要写回磁盘。由于访问磁盘非常耗时,而且频繁操作磁盘也会造成磁盘损伤,所以有了”磁盘缓存“这一设计。
移动硬盘是机械硬盘还是固态硬盘?
都有。固态的移动硬盘一般较贵,容量较小。
光学存储器
光学存储器最流行的形式就是光盘(Compact Disk, CD)。CD一般容量较小,数字视频光盘(Digital Video Disk, DVD)容量较大一些,可以存储任何数字数据。蓝光DVD拥有更高的容量。
磁带存储器
磁带存储器主要用于备份数据和归档数据,个人一般很少用到。
磁带存储器比磁盘便宜,访问数据比磁盘更慢,容量更大。
最快的存储介质,如缓存和内存,被成为基本存储;磁盘被称为辅助存储或联机存储;磁带、光盘等被称为三级存储或脱机存储。
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介的更多相关文章
- go语言调度器源代码情景分析之二:CPU寄存器
本文是<go调度器源代码情景分析>系列 第一章 预备知识的第1小节. 寄存器是CPU内部的存储单元,用于存放从内存读取而来的数据(包括指令)和CPU运算的中间结果,之所以要使用寄存器来临时 ...
- 程序如何在RAM ROM运行,内存分配与分区
关于RAM ROM RAM与ROM就是具体的存储空间,统称为存储器 RAM(random access memory):运行内存,CPU可以直接访问,读写速度非常快,但是不能掉电存储.它又分为: 动态 ...
- 8086 CPU 寄存器简介
转载:http://www.cnblogs.com/BoyXiao/archive/2010/11/20/1882716.html 引子 打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些 ...
- [转帖]8086 CPU 寄存器简介
8086 CPU 寄存器简介 https://www.cnblogs.com/BoyXiao/archive/2010/11/20/1882716.html 哎 没看完 感觉好复杂. 引子 打算写几篇 ...
- 三角函数与缓入缓出动画及C#实现(图文讲解)
日常经常能看到缓入缓出的动画效果,如: 1,带缓入缓出效果的滚动条: 2,带缓入缓出效果的呼吸灯: 像上面这种效果,就是用到了三角函数相关的知识,下面将从头开始一步步去讲解如何实现这种效果. 一.基础 ...
- CPU寄存器
CPU寄存器主要的有 CS:IP这是代码段,主要是执行代码的: SS:SP这是栈段,很多时候数据都要用它, ds:si,这是一个数据段, 还有一个标志寄存器flag,中断的时候要保存它的信息,以便中断 ...
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- 2.计算机组成-数字逻辑电路 门电路与半加器 异或运算半加器 全加器组成 全加器结构 反馈电路 振荡器 存储 D T 触发器 循环移位 计数器 寄存器 传输门电路 译码器 晶体管 sram rom 微处理 计算机
现代计算机的各个部件到底是如何通过逻辑电路构成的呢 半加器 我们说过了门电路 看似简单的三种门电路却是组成了整个逻辑电路的根基 真值表--其实就是根据输入输出状态枚举罗列出来的所有可能 比如有一台 ...
- 自己动手写CPU——寄存器堆、数据存储器(基于FPGA与Verilog)
上一篇写的是基本的设计方案,由于考研复习很忙,不知道下一次什么时候才能打开博客,今天就再写一篇.写一写CPU中涉及到RAM的部件,如寄存器堆.数据存储器等. 大家应该在大一刚接触到计算机的时候就知道R ...
随机推荐
- 01.ubuntu14.04安装HI3518EV200 SDK的过程
转载,侵删 1.海思SDK安装编译 Hi3518EV200_SDK是基于Hi3518EV200_DMEB的软件开发包,包含了在Linux相关应用开发时使用的各种工具及其源代码,是用户开发中最基本的软件 ...
- vue-cli、webpack提取第三方库-----DllPlugin、DllReferencePlugin
需要安装的插件有 extract-text-webpack-plugin assets-webpack-plugin clean-webpack-plugin npm install extract- ...
- 49个你应该了解的Android Studio技巧、插件与资源 http://www.apkbus.com/blog-822721-72630.html (出处: 安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户)
49个你应该了解的Android Studio技巧.插件与资源http://www.apkbus.com/blog-822721-72630.html(出处: 安卓巴士 - 安卓开发 - Androi ...
- Android getprop setprop watchprops用法
转载请注明出处:https://www.cnblogs.com/lialong1st/p/10172973.html 在安卓系统中,当你写了一个脚本,已经添加到开机启动 init.rc 中,即使脚本中 ...
- 解决Qt Creator编译输出窗口乱码的问题
设置环境变量LC_ALL为en_US. 附注:将乱码复制到文本编辑器(如Notepad++)后将编码设置为utf-8,可以看到正确的文字. 看样子是编译输出窗口的编码设置出了问题,或者是gcc的输出编 ...
- C/C++基础----IO库
IO对象无拷贝或赋值,通常以引用形式传递. IO库条件状态 strm::iostate 一种机器相关的类型,提供了表达条件状态的完整功能 strm::badbit 用来指出流已经崩溃 strm::fa ...
- C++ static类成员,static类成员函数
转载:ZJE_ANDY static修饰类中成员,表示类的共享数据 1.static类成员 C++primer里面说过,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象处 ...
- selenium page object模式
页面对象模式将测试代码和被测试页面的元素及操作进行分离,以降低页面元素的变化对测试代码的影响.每个被测试的页面都会被定义一个类,类中会定位元素和操作. 如果不使用page object模式,则相同的操 ...
- Apache JMeter配置、安装
一. 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用,后来又扩充了其它的功能.j ...
- 将ESXI所有的端口组迁移到分布式交换机的步骤
1.如果是DELL服务器,一般有2-4个网口,那么所有的网口都把网线插到交换机上:2.DELL安装ESXI系统,根据不同的DELL硬件,要安装不同的ESXI版本.原则上越高版本,支持的硬件越多向下兼容 ...