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 ...
随机推荐
- hdu 5311(暴力)
题意:要求在一个字符串中找出三段,然后能拼成一个固定的单词,问是否可行 BC周年庆第二题,我枚举了那个单词的切断位置,然后到给的字符串里分别找,然后就没有然后了``` #include<stdi ...
- 【maven】Maven中的dependencyManagement
dependencyManagement使用简介 Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式.在dependencyManagement元素中声明所依赖的 ...
- Flask, Tornado, GEvent组合运行与性能比较
我在选一个python的互联网框架, 本来已经定下来用Tornado了. 但我还听到很多人推荐Flask的简单性和灵活性, 还有gevent的高性能, 所以决定也试试它们以及它们和Tornado的结 ...
- 【转】每天一个linux命令(41):ps命令
原文网址:http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html Linux中的ps命令是Process Status的缩写.ps命令 ...
- java中<load-on-startup>含义
java中 load-on-startup 含义 java中的 load-on-startup 用于表示该servlet是否在servlet容器启动的时候加载. 示例: <load-on-sta ...
- 修改Nginx的header伪装服务器
有时候为了伪装自己的真实服务器环境.不像让对方知道自己的webserver真实环境,就不得不修改我们的webserer软件了!今天看了一下baidu.com的webserver感觉像是nginx修改的 ...
- elastic-job 分布式定时任务框架 在 SpringBoot 中如何使用(二)动态添加任务需求
之前一篇用过了如何在使用创建最简单的任务:比如每天定时清空系统的缓存 这篇文章主要讲解:如何运用elastic-job-lite做灵活的细粒度任务,比如: 如何定时取消某个订单在下订单后30分钟未支付 ...
- CentOS启动网络提示connect: Network is unreachable(配置静态路由)
ls /etc/sysconfig/network-script/ifcfg-eth0 一.看是否在上述目录下存在ifcfg-eth0 这个文件,若存在则按下面的步骤操作: 1.手工配置ip看能不能配 ...
- linux raid10管理维护
http://www.linuxidc.com/Linux/2015-10/124391.htm 制作raid10 http://www.linuxidc.com/Linux/2015-09/1 ...
- 专访TK教主于旸:原来那些搞安全的说的都是真的(图灵访谈)
引用:http://www.ituring.com.cn/article/196609 于旸,网名“tombkeeper”,在国内黑客界被尊称为“TK教主”,现任腾讯玄武实验室总监.于旸从事信息安全研 ...