深入学习《大学计算机》系列之第1章 1.6节——你真的了解计算机存储器吗

一.欢迎来到我的酒馆

        第1章 1.6节,你真的了解计算机存储器吗。

目录

    • 一.欢迎来到我的酒馆
    • 二.计算机存储器
      • 2.1 计算机存储器简介
      • 2.2 计算机存储器发展史
      • 2.3 计算机存储器发展史总结
    • 三.计算机存储器分类
      • 3.1 主存储器
      • 3.2 内存
      • 3.3 缓存
      • 3.4 寄存器
      • 3.5 二级存储器
      • 3.6 存储器系统总结
    • 四.总结

二.计算机存储器

        本节内容主要介绍计算机存储器,介绍计算机存储器的基本知识,计算机存储发展史以及计算机存储器分类。

2.1 计算机存储器简介

        计算机存储器(Computer Storage),顾名思义就是存储数据的电子元器件。 计算机存储器是一种利用半导体、磁性介质等技术制成的存储数据的电子设备。现如今的计算机,尤其是在存储、管理数据方面,存储器扮演着至关重要的角色。如果计算机没有了存储器,那计算机就是一堆会电人的电子垃圾,根本无法发挥作用。无论是个人电脑,还是超大规模的数据中心,如果没有存储器,数据将会丢失且无法访问。存储器是计算机系统中重要的组件,它可以把中央处理器(CPU)计算出的结果、程序以及用户的数据存储在机器中,以便系统在任何时候都可以使用。
        手机拍的照片、抖音短视频、B站弹幕视频、王者荣耀,这些数据都是保存在存储器当中。当我们在用手机刷抖音的时候,手机会通过网路连接将服务器中的短视频下载到手机的存储器中,接着手机的内部处理器会读取储存在存储器中的视频文件,最后通过音视频解码播放短视频,我们在刷抖音短视频其背后的工作原理大致就是这样。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和运行最终结果都保存在存储器中,它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有了记忆功能,才能保持正常工作。
        存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有 “记忆” 功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码0和1的二进制来表示数据。记忆元件的两种稳定状态分别用0和1表示。在我们日常生活中,使用的都是十进制数,十进制数必须转换成等值的二进制数才可以存入存储器中。计算机中处理的各种字符,例如英文字母,运算符号,图片,歌曲,视频等,也要转换成二进制代码才能存储和操作。


在这里插入图片描述

2.2 计算机存储器发展史

        如今,无处不在的科技,都离不开网络、计算和存储。其中信息存储的发展历史最悠久,堪称万年进化史。从人类文明诞生以来,人类就一直在寻求能够更有效存储信息的方式,从4万年前的洞穴壁画、6000年前泥板上的楔形文字,到今天普及的SSD/闪存,再到对量子存储、DNA存储技术的探索,脚步从未停止。当然,我们可以把存储的历史追溯的更久远,比如生物出现的那一天,它们的DNA可能就已经能够存储信息了;又比如人的大脑,这就是最原始、最强大、最精密的存储器。这里我们梳理的主要是计算机存储,所以从纸的出现开始了。
        公元前202年,西汉初期,中国人发明了造纸术(在此之前靠龟甲、兽骨、金石、竹筒、木牍,缣帛等记录文字)。造纸术是中国四大发明之一,发明于汉朝西汉时期,而改进的时期在汉朝东汉时期。中国是世界上最早养蚕织丝的国家。中国古代劳动人民以上等蚕茧抽丝织绸,剩下的恶茧、病茧等则用漂絮法制取丝绵。漂絮完毕,篾席上会遗留一些残絮。当漂絮的次数多了,篾席上的残絮便积成了一层纤维薄片,经晾干之后剥离下来,可用于书写。有了文字之后,最重要的就是要有一个很好的载体。中国,在造纸术发明之前,甲骨、竹筒和绢帛是古代用来供书写、记载的材料。但是甲骨、竹简都比较笨重,不易携带;绢帛虽然轻便,但是成本非常昂贵,也不适于书写。到了汉代,由于西汉的经济、文化迅速发展,甲骨和竹简已经不能满足发展的需求了,从而促使了书写工具的改进——纸被发明出来了。纸的出现使得信息的记录、传播和继承有了革命性的进步,促进了人类文明的传播。纸也为后来打孔卡的出现奠定了基础。
        1725年法国人Basile Bouchon发明了打孔卡(穿孔卡),在纸上打孔的形式来存储图案,用于控制纺织机进行图案织造。1801年,Joseph Marie Jacquard将打孔卡顺序捆绑在一起应用于提花织机,这个便是打孔纸带(Punched Tape)的雏形。1846年,Alexander Bain使用打孔纸带发送电报。1890年,Herman Hollerith发明了打孔卡制表机,用于收集并统计人口普查数据,标志着半自动化数据处理系统时代的开始。这种机器不仅统计速度更快,而且能够以新的方式理解信息,很快便应用到了各个行业。1896年,Herman Hollerith成立了制表机公司,这家公司就是后来大名鼎鼎的IBM的前身。打孔卡和纸带直到上世纪80年代还在使用,持续了两个多世纪。打孔卡(Punched Card)和打孔纸带(Punched Tape),它们是最早的机械化信息存储形式。
        1928年,Fritz Pfleumer发明了录音磁带,可以存储模拟信号。该专利基于1888年Oberlin Smith的磁记录声音设想和Valdemar Poulsen在1898年发明的磁线技术。原理就是:磁力线是随音频电流的变化而变化的,所以每段磁带在移动过程中被磁化的程度也随音频信号电流的强弱而变化,这样就能把声音记录在磁带上。磁带用于计算机中则是从1951年开始。磁带(Magnetic Tape)的发明,标志着磁性存储时代的开始。
        1932年,Gustay Tauschek发明了磁鼓存储器,它包含一个大型金属圆柱体,外表面涂有铁磁记录材料。在磁芯存储器出现之前广泛用于计算机内存。同时也用于做二级存储,被认为是硬盘驱动器(HDD)的前身。与硬盘驱动器一样,磁鼓也有磁头,但不是寻找数据,磁鼓上有许多静态磁头,只需等待正确的磁扇旋转就位即可。Tauschek的原始磁鼓存储器的容量约为五百万比特(约62.5千字节)。
        1946年,Jan A. Rajchman团队发明的静电记忆管Selectron Tube是最早的随机存取数字存储器(RAM),使用静电荷存储数据在真空管内。它能够短暂存储大约四千字节。1947年,Freddie Williams和Tom Kilburn发明了类似原理的威廉姆斯-基尔伯恩管(Williams-Kilburn Tube)并商用。IBM的第一台商用科学计算机701就使用了72个该管做内存。后开磁芯存储器的出现取代了这种存储器。Selectron管,是第一个随机存取数字存储器。
        1947年,Frederick Viehe第一个申请了磁芯存储器的专利,1948年,华裔王安发明了 “脉冲传输控制装置(Pulse transfer controlling device)”,实现了对磁芯存储器的写后读(Write-after-Read),1949年申请了专利,并以50万美元的价格卖给了IBM,这位传奇人物在1986年的时候个人财富就达到了20亿美元。磁芯存储器原理是磁芯根据磁化时电流的方向可以产生两个相反的磁化,这就可以作为0和1的状态来记录数据。Jay Forrester完善了磁芯存储器技术,推出第一个可靠的计算机高速随机存取存储器。磁芯存储器在20世纪70年代被广泛用作计算机的主存储器,直到Intel的半导体DRAM内存批量生产。最初的磁芯存储器只有几百个字节的容量。磁芯存储器(Magnetic-Core Memory),是随机存取存储器(RAM)的早期版本。
        1951年,磁带首次被用于计算机上存储数据,在UNIVAC计算机机上作为主要的I/O设备,称为UNIVACO,这就是商用计算机史上的第一台磁带机。磁带早在1928年便已诞生,此前多用于声音记录。盒式磁带现在通常被叫做Tape Cartridge,磁带存储因为支持离线保存,寿命长,容量大,性价比高,今天仍有很多使用。使用磁带的设备有磁带机(Tape)、磁带库(Tape Library)。
        1956年,世界上第一个硬盘驱动器IBM 350出现在IBM的RAMAC 305计算机(第一台提供随机存取数据的计算机,同时还使用了磁鼓和磁芯存储器)中。该驱动器约有两个冰箱大小,重达一吨,包含50个24英寸盘片,能存储5M的信息,数据传输速度10K/S。1962年,IBM发布了第一个可移动硬盘驱动器1311,它有六个14英寸的盘片,可以存储2.6MB的数据。1973年,IBM发明了Winchester(温氏)硬盘3340,其特点是工作时磁头悬浮在高速转动的盘片上方,而不与盘片直接接触,这便是现代硬盘的原型。硬盘驱动器(Hard Drive)的出现,标志着磁盘存储时代开始了。
        1965年,美国物理学家罗素Russell发明了第一个Compact Disk/CD(数字-光学记录和回房系统),1966年提交了专利申请,这是后来风靡一时的CD/DVD的前身。
        1966年,IBM Thomas J. Watson 研究中心的Robert H. Dennard发明了动态随机存取存储器(DRAM),1968年申请了专利。1969年,Advanced Memory System公司生产了第一款DRAM芯片,容量仅为1KB。1970年,Intel公司推出Intel 1103,这是第一个商用DRAM芯片,DRAM芯片取代磁芯存储器成为个人电脑的标准存储芯片。至今,DRAM仍是最常用的随机存储器(RAM),作为个人电脑和工作站中内存(即主存储器)。DRAM能够问世,主要是基于半导体晶体管和集成电路技术的发展。
        1971年,IBM发布了第一张只读的8英寸软盘(Floppy Disk),容量为80KB。1972年,Alan Shugart帮助Memorex公司推出了第一款可读/可写的软盘Memorex 650,容量为175KB。1976年,5.25英寸软盘问世,1980年,索尼开发了3.5英寸软盘,容量为1.44MB,并成为市场标准。从1971年直到20世纪90年代的近三十年内,软盘一直被用于存储和交换数据,并带动了计算机行业的快速发展。
        1980年,日本人富士雄Fujio Masuoka为东芝工作时发明了NAND Flash闪存技术,Intel公司在1988年推出了第一款商用型NOR Flash芯片,东芝在1989年发布了世界上第一个NAND Flash产品。
        1994年,闪迪(SanDisk)公司第一个推出了CF存储卡(Compact Flash),这种存储卡最初基于NOR Flash闪存技术,广泛用于数码相机等产品。
        1995年,以色列公司M-Systems(2006年被SanDisk公司收购)发布了第一个闪存驱动器DiskOnChip。
        1997年,西门子和闪迪使用东芝的基于NAND的闪存开发了Multi Media Memory(MMC卡)。
        1999年,因为MMC将允许轻松盗版音乐,东芝在现有MMC中添加了加密硬件,并将其命名为SD卡(Secured Digital),之后有了MiniSD、MicroSD、MSMicro2和Micro SDHC等。
        2000年,Trek公司发布了世界上第一个商用USB闪存驱动器(U盘)(U盘专利权较复杂,多家公司声称拥有其专利,中国的朗科在1999年获得了U盘的基础性专利)。


在这里插入图片描述

2.3 计算机存储器发展史总结

        上面非常详细地讲了计算机存储器发展史,篇幅很长,在阅读时可能存在不好记的问题。因此,我将计算机存储器发展史做了一个简单的总结。上文提到的内容全部用一句话来概括,方便理解。
        1.甲骨、竹简等虽然可以记录文字,但是它们比较笨重不易携带。
        2.蚕丝丝绸解决了甲骨、竹简笨重的问题,其特点是:造价高、易于携带。
        3.随着西汉的经济发展,纸被发明了出来,纸造价低廉、易于书写,易于携带。
        4.1725年,法国人发明了打孔卡,它是最早的机械化存储设备,其原理是:利用打洞和不打洞来记录信息。
        5.1928年,录音磁带被发明了出来,它可以存储模拟信号,其原理是:磁力线随音频电流的变化而变化。
        6.1932年,磁鼓存储器被发明了出来,它是硬盘驱动器(HDD)的前身。
        7.1947年,最早的随机存取数字存储器(RAM)被发明了出来,其原理是:在真空管内使用静电荷存储数据。
        8.1951年,磁带首次用在了计算机上存储数据,其特点是:支持离线保存、容量大、寿命长、性价比高。
        9.1956年,硬盘驱动器被发明了出来,它是现代机械硬盘的前身,其特点是:在工作时磁头不与磁盘接触,而是悬浮在盘片上方。
        10.1965年,只读光盘存储器(CD-ROM),其特点是:它采用光学存储避免了磁性存储对磁场的敏感问题,但它易划伤。
        11.1966年,动态随机存取存储器被发明了出来,它是现在计算机中最常用的随机存储器(RAM)。
        12.1971年,软盘(Floppy Disk)被发明了出来,其特点是:容量小,即插即用,易损坏。
        13.1980年,闪存(Flash)被发明了出来,其特点是:闪存是一种非易失性存储器,断电数据不会丢失。
        14.1994年,CF存储卡(Compact Flash),其特点是:它不带驱动器,极少出现机械故障,多用于存储图像,广泛用于数码相机等产品。
        15.1995年,闪存驱动器被发明了出来,其特点是:闪存驱动器没有机械部件,可靠性和数据安全性高。
        16.1997年,多媒体卡(Multimedia Memeory Card),是一种快闪存储器卡,其特点是:小巧轻量,耐冲击性好,可反复读写。
        17.1999年,SD卡(Secured Digital Card),是一种半导体快闪存储器,其特点是:有加密功能,以此来保证数据的安全性,广泛用于便携式设备上。
        18.2000年,USB闪存驱动器,俗称U盘,它是使用USB接口、无须物理驱动器的移动存储器,其特点是:容量大、体积小、重量轻。
        19.关于磁芯存储器和磁鼓存储器
        磁芯存储器(Magnetic-Core Memory)在早期广泛用于计算机的主存储器,它是随机存取存储器(RAM)的早期版本。其原理是:磁芯根据此花时的电流方向,可以产生两个相反方向的磁化,这就可以作为0和1的状态来记录数据。
        磁鼓存储器(Drum Memory),它是硬盘驱动器(HDD)的前生,在磁芯存储器出现之前一直用于计算机的主存储器。其原理是:与硬盘驱动器一样,磁鼓存储器也有磁头,但不是寻找数据,磁鼓上有许多静态磁头,只需等待正确的磁扇旋转就位即可。

三.计算机存储器分类

        无论是在生活上给我们带来巨大便利的掌中设备(如手机、智能手环),还是现代的PC,以及超大规模集群设备都离不开存储器系统。因为不管是永久性存储,还是零时性存储,这些数据都是保存在存储器系统中,如操作系统它是保存在存储器中,当系统开机时,操作系统文件会从存储器系统加载到主存储器中,操作系统才会运行。我们经常使用的QQ、微信等这类程序也是保存在存储器系统中,当我们运行这些程序的时候,它会加载至主存储器中。如果没有存储器系统,计算机将无法发挥作用。从广义上来说,存储器系统分为两个部分:主存储器(Premary Storage)和二级存储器(Secondary Storage)。主存储器又可以分为:内存,高速缓冲存储器和寄存器。二级存储器也称为外存、辅存,它是硬盘、光盘一些可脱机存在的磁性介质和光学存储设备。
在这里插入图片描述

3.1 主存储器

        主存储器(Primary Storage),也被称为内部存储器。一般分为:寄存器,高速缓冲存储器(Cache),内存(RAM),它的作用是暂时存放数据和指令,其特点是:容量小、价格高、读写速度快、断电数据全部消失并且由中央处理器(CPU)直接随机存取。主存储器一般采用半导体存储器。如果计算机中可编址的最小单位是字节,则该计算机称为按字节编址的计算机。一个字节(Byte)等于8个比特位(Bit),而一个比特位只可以表示0和1两个数字,这就像一个灯泡一样,只有两种状态,亮和灭,亮用二进制数1表示;灭用二进制数0表示。为什么一个字节的长度等于八位,因为23=8,因此就规定一个字节的长度为八个二进制位。
        在计算机中最小的信息单位是bit(比特),也就是一个二进制位,八位组成一个Byte,也就是一个字节。简单来说,一个bit长度的硬件,只能表示0和1两个数,这和一个灯泡只有亮和灭两种状态是一个道理。一个存储单元可以存储一个字节,也就是八个二进制位,一个字节用硬件来表示,可以理解为八个灯泡,这八个灯泡通过亮和灭不同的组合,最大能表示的数为28=255。在计算机中存储容量的最小单位为字节,例如,一个存储器有16个存储单元,则说明这个存储器的容量为16个字节(Byte);有一个1KB的存储器,则说明这个存储器的容量为1024个字节(210=1024)。如果用灯泡来表示容量为1KB的存储器,那么需要1024*8=8192个灯泡的硬件数量。如我们常说的16GB的内存条,是指这个内存条容量为16x230 个字节。
        1B(Byte,字节) = 8 b(bit,位)(23 b)
        1KB(Kilobyte,千字节,简称 “兆”)= 1024B(210 B)
        1MB(Megabyte,兆字节,又称 “千兆”)= 1024KB(220 B)
        1GB(Gigabyte,吉字节)= 1024MB(230 B)
        1TB(Terabyte,太字节)= 1024GB(240 B)
        1PB(Petabyte,拍字节)=1024TB(250 B)
        1EB(Exabyte,艾字节)= 1024PB(260 B)
        1ZB(Zettabyte,泽字节)=1024EB(270 B)

3.2 内存

        内存,也叫随机存储器(Random Access Memory,RAM)。主存储器,也称为内部存储器,简称为内存,需要注意的是这里的内存不是随机存储器(RAM)。虽然主存储器简称为“内存”,而随机存储器也叫内存,但是它们不是指同一个事物,这里要区分明白。我们平时经常说到的内存条,就是指RAM,它们两者是同一个东西。内存(RAM)挂在CPU外面的数据总线上,它的作用是暂时存放指令和数据,CPU是通过寄存器访问内存。内存(RAM)的特点是容量小,读写速度快,断电后数据全部消失。内存的读写速度远快于外存(也称为辅存、二级存储),因此内存容量越大,计算机运算速度就越快。

3.3 缓存

        缓存,也叫高速缓冲存储器(Cache)。既然有了内存,为什么还需要缓存?这是因为CPU的运算速度远快于内存,经常会出现CPU时间闲置,它是为了弥补内存和CPU之间读写速度不同的一个部件。缓存的工作原理是CPU在读取数据时先去缓存中找数据,如果没有找到,就回去运行速度相对较慢的内存中找,在内存中找到了数据在传输给CPU运算,同时将这部分数据调入缓存,这样一来如果CPU再去找数据的时候就不用去内存找,可以直接在缓存中找到数据。大多数数据都可以在缓存中找到,这种读写数据的机制命中率非常高,大约90%的数据都可以在缓存中找到,而剩下的10%的数据需要去内存中找。因此,CPU在读取数据时基本上无需等待。简单的说,CPU先读取顺序是缓存在内存。缓存是集成在CPU中的一个部件。

3.4 寄存器

        寄存器(Register),是最小、也是最快的主存储设备。寄存器的作用是暂时存放数据、指令和地址,它很像我们超市门口的包裹寄存处,用来暂时存放。寄存器是CPU的一部分,缓存是集成到CPU中的一个部件,而内存则是完全独立于CPU。寄存器的速度最快,其次是缓存,然后是内存。CPU是通过寄存器访问内存。

3.5 二级存储器

        二级存储器(Secondary Storage),也称为外存、辅存。它们通常是一些磁性介质(如硬盘、磁带)和光学设备(如光盘,CD),作用是长期保存数据,其中一些存储器可以脱机使用,如U盘。外存普遍的特点是:读写速度慢,容量大,断电后数据仍能保存。由于主存储器在断电后数据会全部消失,并且容量有限,而外存很好的弥补了这个缺点,它可以长期存储程序和数据。外存可以是固定的存储介质,如机械硬盘封装在计算机内部,也可以是可移动存储介质,如U盘可以在外部使用。外存不能被CPU直接访问,它需要经过内存(RAM),先将数据加载至内存中,然后CPU通过寄存器来访问内存,读取数据。

3.6 存储器系统总结

        存储器系统是由主存储器和辅存储器组成的一个层次管理体系。主存用于暂时存放CPU中运行的程序和数据,断电时数据全部消失,其特点是容量小、读写速度快、价格高;辅存用于暂时存放不用的程序和数据,断电后仍能保存数据,其特点是容量大、读写速度相对于主存慢、价格低。辅存弥补了主存断电后数据不能保存的特性。通过软件、硬件的结合,将主存和辅存整合,由主存和辅存形成一个存储层次,即存储系统。结论是存储器系统是计算机不可或缺的一部分,优化存储器系统对于提升计算机的运行效率起到了很大的作用。
在这里插入图片描述

四.总结

1.计算机存储器。它是存储数据的电子元器件,有了存储器,计算机才有了记忆功能。
2.计算机存储器发展史。从人类文明诞生以来,就一直寻找更有效存储数据的方式。
3.计算机存储器分类。计算机存储器分为内部存储器和外部存储器。内部存储器暂时存放数据和指令,其特点是读写速度快、容量小、价格高、断电后数据全部消失;外部存储器是用来长期保存数据,其特点是读写速度相对主存慢、容量大、断电后数据仍能保存、价格低。
4.参考资料:
(1)搜狗百科存储器:https://baike.sogou.com/v262218.htm
(2)计算机存储器发展史:https://www.chinastor.com/history/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/251348.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

09. BI - 数据可视化,如何进行基本图形绘制

本文为 「茶桁的 AI 秘籍 - BI 篇 第 09 篇」 文章目录 EDA 作用可视化视图Python 进行可视化subplot Hi,你好。我是茶桁。 今天想给大家讲的是关于数据的可视化。在工作中很多时候我们不光要计算结果,还要把结果呈现出来,最好是一种图形化的…

微服务中间件 RabbitMq学习

1、为什么需要Mq 例如在用户注册业务中,用户注册成功后 需要发注册邮件和注册短信,传统的做法有两种 1.串行的方式;2.并行的方式 ; 假设三个业务节点分别使用50ms,串行方式使用时间150ms,并行使用时间10…

【实战】阿里智能编码助手通义灵码

文章目录 前言技术积累通义灵码是什么?Copilot是什么?通义灵码主要功能通义灵码有哪些优势?通义灵码支持语言/工具通义灵码接入方式通义灵码帮助中心 实战演示安装插件行/函数级实时续写自然语言生成代码代码优化单元测试生成代码注释生成解释…

streampark+flink一键整库或多表同步mysql到doris实战

streamparkflink一键整库或多表同步mysql到doris实战,此应用一旦推广起来,那么数据实时异构时,不仅可以减少对数据库的查询压力,还可以减少数据同步时的至少50%的成本,还可以减少30%的存储成本; streampar…

代码随想录算法训练营第38天 | 动态规划理论基础 + 509.斐波那契数 + 70.爬楼梯 + 746.使用最小花费爬楼梯

今日任务 理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 动态规划理论基础 理论基础:代码随想录 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划…

Linux---进程间通信 | 管道 | PIPE | MKFIFO | 共享内存 | 消息队列

管道 管道是UNIX中最古老的进程间通信的形式,我们把从一个进程连接到另一个进程的数据流称为一个管道。 一个文件,可以被多个进程打开吗?可以,那如果一个进程打开文件,往文件里面写数据,另一个进程打开文…

GLIP:零样本学习 + 目标检测 + 视觉语言大模型

GLIP 核心思想GLIP 对比 BLIP、BLIP-2、CLIP 主要问题: 如何构建一个能够在不同任务和领域中以零样本或少样本方式无缝迁移的预训练模型?统一的短语定位损失语言意识的深度融合预训练数据类型的结合语义丰富数据的扩展零样本和少样本迁移学习 效果 论文:…

【Leetcode】第 383 场周赛

文章目录 100214. 边界上的蚂蚁题目思路代码结果 100204. 将单词恢复初始状态所需的最短时间 I题目思路代码结果 100189. 找出网格的区域平均强度题目思路代码结果 100203. 将单词恢复初始状态所需的最短时间 II题目思路代码结果 100214. 边界上的蚂蚁 题目 题目链接 给你一个…

爬虫(二)

1.同步获取短视频 1.只要播放地址对Json数据解析,先把列表找出: 2.只想要所有的播放地址,通过列表表达式循环遍历这个列表拿到每个对象,再从一个个对象里面找到Video,再从Video里面找到播放地址(play_addr),再从播放地址找到播放…

【C++】【类和对象】构造函数

1.构造函数的特性: 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有 一个合适的初始值,任务不是开空间创建对象,而是初始化对象,并且在对象整个生…

机器学习 | 解析聚类算法在数据检测中的应用

目录 初识聚类算法 聚类算法实现流程 模型评估 算法优化 特征降维 探究用户对物品类别的喜好细分(实操) 初识聚类算法 聚类算法是一种无监督学习方法,用于将数据集中的对象按照相似性分组。它旨在发现数据中的内在结构和模式,将具有相似特征的数据…

建筑行业数字化:从设计到运维的全面革新

随着科技的快速发展,数字化技术在各行各业中的应用越来越广泛。建筑行业作为传统产业,也在积极拥抱数字化技术,以提高效率、降低成本并实现可持续发展。本文将主要探讨建筑行业数字化的几个关键领域,包括建筑设计数字化、施工管理…

关于JVM常见的十道面试题

方法区、永久代和元空间有什么区别? 方法区、永久区和元空间是Java虚拟机用于存储类信息的区域,它们在不同的Java虚拟机版本有所不同: 方法区:方法去是一块用于存储类的结构信息、常量、静态变量、即时编译器编译后的代码等数据…

Facebook群控:利用IP代理提高聊单效率

在当今社交媒体竞争激烈的环境中,Facebook已经成为广告营销和推广的重要平台,为了更好地利用Facebook进行推广活动,群控技术应运而生。 本文将深入探讨Facebook群控的定义、作用以及如何利用IP代理来提升群控效率,为你提供全面的…

C语言问题汇总

指针 #include <stdio.h>int main(void){int a[4] {1,2,3,4};int *p &a1;int *p1 a1;printf("%#x,%#x",p[-1],*p1);} 以上代码中存在错误。 int *p &a1; 错误1&#xff1a;取a数组的地址&#xff0c;然后1&#xff0c;即指针跳过int [4]大小的字节…

【动态规划】【树形dp】【C++算法】968监控二叉树

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 LeetCode:968监控二叉树 给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所…

web前端--------渐变和过渡

线性渐变&#xff0c;是指颜色沿一条直线进行渐变&#xff0c;例如从上到下、从左到右。 当然&#xff0c;CSS中也支持使用角度来设置渐变的方向&#xff0c;角度单位为deg。 0deg&#xff0c;为12点钟方向&#xff0c;表示从下到上渐变。 90deg&#xff0c;为3点钟方向&…

Llama2大模型开源,大模型的Android时代来了?

就昨天凌晨,微软和Meta宣布Llama2大模型开源且进一步放开商用,一下朋友圈刷屏。要知道,开源界最强大的模型就是过去Meta开源的Llama,而现在Llama2更强大,又开放商用,更有微软大模型霸主企业撑腰(微软既投资大模型界的IOS——ChatGPT,又联合发布大模型的Android——Llam…

【Django】Cookie和Session的使用

Cookies和Session 1. 会话 从打开浏览器访问一个网站&#xff0c;到关闭浏览器结束此次访问&#xff0c;称之为一次会话。 HTTP协议是无状态的&#xff0c;导致会话状态难以保持。 Cookies和Session就是为了保持会话状态而诞生的两个存储技术。 2. Cookies 2.1 Cookies定…

Git使用命令大全

命令大全参考阮一峰的博客&#xff0c;根据自己的使用习惯作了调整。 Git常用命令 其他常用的命令 配置Git # 显示当前的Git配置 $ git config --list# 编辑Git配置文件 $ git config -e [--global]# 设置提交代码时的用户信息 $ git config [--global] user.name "[nam…