首页天道酬勤java程序员的电脑要求(java程序员用的电脑配置)

java程序员的电脑要求(java程序员用的电脑配置)

张世龙 01-26 13:19 37次浏览

作为程序员,你必须了解内存的这些硬核知识!

作者| ithuangqing

(来源|非代码(ID:ithuangqing ) ) ) ) ) ) ) ) ) )。

我们之前谈过处理器,也谈过处理器和内存,今天我们来谈谈内存。 作为程序员应该知道的硬核知识是什么?

用白话说说看,很重要!

首先,让我和大家谈谈。 我们在这里说的内存其实是指我们电脑里的内存条。 因此,内存是指内存条。 数据必须放在上面,才能被cpu读取进行运算。 另外,硬盘是指电脑中的C驱动器。 要运行一个程序,必须向内存申请独立的内存空间。 这个程序本身保存在硬盘上,申请内存后保存在内存中。

如果程序不经常使用,操作系统会将此程序的数据从内存移动到硬盘。 如果此程序再次启动,操作系统会再次将硬盘数据更换为内存。 这时,可以听到硬盘吱吱响的声音。 例如,当我们使用可移动硬盘时,如果在电脑上打开可移动硬盘文件,就会听到可移动硬盘在响。 这是在读取硬盘上的文件,但这其实效率不高

什么是内存?

如上所述,内存是记忆棒,这句话准确吗? 不,内存就是内存,可能有人净胡说八道,那到底是不是? 其实不然。 那我为什么还这么说? 印象啊。 对你的理解有帮助呢。 接下来深挖一下吧。 稍后,你会理解的。

先从内存说起吧

我之前说过,记忆棒,作为程序员我们一定知道。 是那个短的扁平的小基板,而且还不便宜。 是的。 实际存在的这个内存设备也就是我们说的记忆棒。 那是电子部件,存储器的本质是存储器集成电路。 这个集成电路是集成电路的意思。

记忆棒不会忘记发生了什么吧? 请给我图

我以前经常买金斯敦的

内存是内存吗?

但是,更详细地说,内存其实是一个比较宽的概念。 什么意思? 说这个内存,只要一碰铁棒,你说的内存是物理内存还是虚拟内存? 我们在这里说的内存肯定和我们平时写代码有密切的关系。 也就是存储我们的程序数据为我们的程序运行提供临时存储的地方。 基于此,这里所用的存储器这里所用的存储器,实际上是物理存储器,也就是实际存在的设备,通常是安装记忆棒而得到的存储器空间,在计算机工作时操作

我知道现在我们这里说的内存一般是指物理内存。 我们习惯了就直接叫内存。 该内存更正式地说是随机访问存储器,英文名为Random Access Memory,缩写取首字母后为RAM。 所以啊记住,以后RAM就是内存,也就是随机存取存储器。 另外,也称为主存储器。 是电脑中最主要的存储器。 由于与CPU直接交换数据,读写速度快,用于加载各种程序和数据供CPU直接运行和使用。

现在简单来说,作为程序员应该知道的内存是指可以直接与CPU进行数据交换的存储器,放在电脑上的是内存条,正式的名字也称为随机存取存储器、主存储器,是电脑中最主要的内存

内存? 还有外部存储器吗?

内存和外部存储器? 这个怎么理解? 内存为dddjm,外部内存为外部? 不,记忆棒安装在电脑内部。 硬盘也安装在电脑内部吗?

这里的内存和外部内存不是这样理解的。 简单来说,内存是指关闭电源后存储的数据会丢失,而相应的外部内存在关闭电源后不会丢失其中存储的数据。

DDR3? DDR4?

这你很清楚吧。 如果我们要更换存储卡,就必须看看我们的计算机支持是哪一个。 否则,就等于白花钱。 我以前就错过了一次。 来自于自己过于自信

我们已经知道什么是内存了。 我还知道我们这里的内存也是主内存。 RAM,它们都是一个品种,一样的。 该RAM是一般的随机存取存储器,此外还有DRAM。 这是什么? RAM是随机存取存储器,该DRAM是动态随机存取存储器,对应的SRAM被称为静态存取存储器。

DRAM结构简单,单位体积内容量高,成本低,但访问速度慢,功耗大,相应地SRAM结构复杂,成本高。 DRAM和SRAM都是内存。 也就是说,如果切断电源,数据就会丢失。 总的来说,DRAM性价比更高,可扩展性也更好,因此成为了现在广泛普及的电脑的主存储器。

而且,我知道SDRAM。 这是什么? DRAM是动态随机存取存储器,SDRAM是同步动态随机存取存储器。 也就是说,比DRAM更牛,升级版。 还有DDR SDRAM。 当然,这是SDRAM的升级版。 这被称为两倍的数据速率同步动态随机存取存储器。 哈哈,这个名字很好。 还有DDR SDRAM。 当然,还有DDRAM。你知道这是什么吗? 是的。 还有数据速率同步动态随机访问内存、哈哈和DDR4 SDRAM,是第三代的两倍。 明白了吗? 那么,你知道我们电脑上的DDR3和DDR4是怎么回事吧。

内存的本来面貌(物理机制) ) ) ) ) )。

我们已经有内存为主内存,也叫随机访问内存。 缩写是RAM,之后也称为DRAM、SRAM、还有DDR SDRAM等。 这些实际上是内存,只是各自的形状不同,但实际的电路板是我们可以拿着的内存条。 他们是

的物理机制其实都差不多,都有什么电源,地址信号,数据信号和控制信号等等,下面我们来看一张图你就清楚了

内存引脚配置

啥是内存IC

这个内存IC其实就是内存中用来真正保存数据的地方,也就是内存提供的容量所在,因此,可以说内存的实质就是内存IC,先知道这些,我们继续往下说,这个内存IC后面还会说的。

刚开始看这个图一定是懵的,那么我们先来看一个问题,就是这个图代表的内存能够存储多少数据呢?接下来我们就以这个图开始说,最后如果你能明白这个内存能存储多少数据,目的就达到了。

上图的各个标志已经有说明了,VCC和GND是链接电源的地方,通上电之后这玩意就带电了,我们之前应该知道,数据都是以二进制的形式存放在内存中的,也就是0和1,这个是通识,那么这个0和1是怎么表示的呢?

看这个图,当VCC和GND通上电以后,就可以给其他引脚传递1或者0的信号,这里的引脚就是A0-A9,这是地址信号引脚,D0-D7这是数据信号引脚,1或者0是根据电压来表示的。

通常嘞,+5V的直流电压表示1,0V就是0,也就是说啊,通上电以后嘞,这里的数据信号引脚D0-D7这八个引脚可能是+5V或者是0V,也就是可以表示0或者1,一个引脚相当于一位,这位上可以是0或者1,然后这八个引脚都可以表示对应的0或者1,这样就可以形成一个八位的用0和1表示的数据,这其实就是二进制啊。

D0-D7可以表示具体的数据,这也是存放在内存中的数据的底层表现形式,同样的,上面的地址信号引脚也是一样的道理,每个引脚可以表示1或者0,这样地址信号引脚和数据信号引脚确定以后,地址信号引脚组成的0和1的这个数据就叫做我们熟知的内存地址,根据它我们就可以找到数据信号引脚代表的数据了。

上面说的可能有点小难懂,不理解的多读几遍,对照着图哦

内存IC的容量怎么看

那么这个内存可以存储多少个数据嘞,我们知道数据信号引脚来表示具体的数据,需要通过地址信号表示的二进制数据来找到它,也就是说每个地址信号代表的的数据是对应着一个数据信号引脚表示的真实数据的,所以嘞,地址信号引脚可以表示多少个数据不就代表这个内存可以存放多少数据嘛,这里的地址信号引脚有A0-A9,也就是10个,因此它可以表示0000000000----1111111111之间的数据,有多少嘞,一共有1024个。

所以啊,这个内存可以存储1024个1字节的数据,对了,数据信号引脚八个代表一个字节的数据,也就是一个引脚代表1位,也就是1bit,8bit就是一个字节,也即是1byte,然后1024byte又等于1KB,所以,这个内存IC最终的容量就是1KB

你可能会说,这也太小了点了吧,确实小,作为程序员的我们,电脑中使用的内存最低也得8GB吧,这得多少个内存IC啊,这里你可能会有点迷糊,我详细的说下。

内存引脚配置

再来说内存IC

知道这个吧,我们把这个叫做内存IC,IC是集成电路的意思,这个内存IC其实有两种,你只需要知道其中一种叫做内存颗粒或者内存芯片的就行,我们这里说的内存IC更为准确来说其实就是内存颗粒,是镶嵌在内存条上的,看个图就知道了

哈哈,弄来弄去就这两张图

这个是内存条,都认识吧,上面那黑的一块一块的其实就是内存颗粒,也就是我们上面说的内存IC,那么你可能会说,上面那个内存IC的容量才1KB,我们平常用的话最低也得8GB,这也镶不下啊,如果都是容量1KB的内存IC,当然镶不下,因此容量更大的内存条则需要容量更大的内存IC,这个口蹄疫通过内存IC上的引脚数量来实现,不过这个也更加复杂有难度,当然,容量越大,内存条也越贵啊,就是这么个道理。

程序员眼中的内存

上面我们把内存稍微深入的说了一遍,相信你看下来一定有不少收获吧,当然,我不排除你没有看懂

如果真的没有看懂,可以多看几遍,当然,也许你是个大神,发现我哪里说错了,如果是这样,还劳烦指教一下哦

那么我们作为一个程序员,每天就是写写代码,我们需要知道什么内存IC,什么这信号那引脚的吗?

其实吧,我觉不是很有必要,但是知道总比不知道强,不过下面的这些你可一定要知道啊。

如何形象的去理解内存

在之前的文章中曾经介绍过内存,那时候说我们可以把内存看成一个个的小格子,就像这样

这样的一个个的小格子,里面主要存放数据和一些指令,然后每个格子还有对应的编号,这个编号就叫做内存地址,想想,这里的编号是不是就是上面说的内存IC中的地址信号引脚组成的数据,然后每个格子中存放的数据和指令就是通过内存IC中的数据信号引脚来表示的。然后你还可以想象成,每个格子可以存放1字节的数据,也就是内存IC中的那八个信号引脚,对应起来了吧,那么一个容量为1KB的内存(只含有一个内存颗粒,容量就为1KB),这样的格子就有1024个,画成图就是这样的

然后我们还知道在java中是有数据类型的,数据类型的作用简单说就是决定数据在内存中暂用多少内存空间,这里也就是要占用多少个小格子,我们知道在java中int代表整型占4个字节,这里一个格子可以保存1字节的数据,那么int就需要占用4个小格子。对于作为程序员的我们,就应该这样来理解内存,这样更加形象,有助于我们更好的编程。

这些硬核真的硬?

看到这里,你想一下,了解了上述知识,下载在dtdbg写下一个int a = 10;

的时候,你是不是会想,int向内存申请四个小格子,每个格子有对应的内存地址,然后10转换成二进制数据存放在这些小格子里,实际上是内存IC中的数据信号引脚按照转换后的二进制,也就是0和1来决定每个引脚是+5V直流电压还是0V电压,当然,内存地址即使地址信号引脚啦……

然后巴拉巴拉想一大堆,你看,了解了这些关于内存的硬核知识,我们写代码是不是就不仅知其然还知其所以然了

好啦,关于内存,咱就先聊这些,这可都是你必须知道的硬核知识啊,对了,推荐和以下几篇一起食用,风味更佳!

相信看过这三篇文章以后,你一定能收获很多干货!,喜欢的话别忘了点赞哦!

感谢阅读

大家好,我是ithuangqing,一路走来积累了不少的学习经验和方法,而且收集了大量的精品学习资源,现在维护了一个公众号【编码之外】,寓意就是在编码之外也要不停的学习,主要分享java技术相关的原创文章,现在主要在写数据结构与算法,计算机基础,线程和并发以及虚拟机这块的原创,另外针对怕黑的咖啡豆还在连载一套《怕黑的咖啡豆的java自学课》,力求通俗易懂,由浅入深。同时我也是个工具控,经常分享一些高效率的黑科技工具及网站。

对了,公众号还分享了很多我的学习心得,可以一起探讨探讨!

对罗永浩的评价(锤子罗永浩最新动态) ttl与非门(桥式整流电路图)