精华内容
下载资源
问答
  • 存储器可分为内储存器和外储存器两类。1、内储存器直接与CPU相连接,储存容量较小,但速度快,用来存放当前运行程序的指令和数据,并直接与CPU交换信息。内储存器由许多储存单元组成,每个单元能存放一个二进制数或...

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。

    存储器可分为内储存器和外储存器两类。

    1、内储存器直接与CPU相连接,储存容量较小,但速度快,用来存放当前运行程序的指令和数据,并直接与CPU交换信息。内储存器由许多储存单元组成,每个单元能存放一个二进制数或一条由二进制编码表示的指令。内储存器是由随机储存器和只读储存器构成的。

    2、外储存器是内储存器的扩充。它储存容量大,价格低,但储存速度慢,一般用来存放大量暂时不用的程序,数据和中间结果,需要时,可成批的与内存进行信息交换。外存只能与内存交换信息,不能被计算机系统的其他部件直接访问。常用的外存有磁盘,磁带,光盘等。

    存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。

    展开全文
  • 内存分类

    千次阅读 2019-04-25 10:35:37
    1、概述 ROM(read only memory)和RAM(random access memory)都是半导体存储器。 ROM掉电可以保持数据... RAM分为两,一种称为静态RAM(static RAM / SRAM)。 一种称为动态RAM(Dynamic RAM / DRAM)。 ...

    1、概述

        ROM(read only memory)和RAM(random access memory)都是半导体存储器。

        ROM掉电可以保持数据。

        RAM掉电数据丢失。典型RAM就是计算机的内存。

    2、RAM分类

        RAM分为两大类,一种称为静态RAM(static RAM / SRAM)。 一种称为动态RAM(Dynamic RAM / DRAM)。

     

        DRAM:速度比ROM快,比SRAM慢。价格比SRAM便宜很多。主要用于计算机内存。

    3、DRAM分类

        DRAM分为很多种,常见的主要是FPRAM/fastpage、EDORAM、SDRAM、DDRAM、RDRAM、SGRAM以及WRAM等。最长用的是DDRRAM。    DDR RAM(date-rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个始终读写两次数据,这样就使得数据传输速度加倍了。是目前电脑上用的最多的内存。

    4、ROM分类

        ROM也有很多种。PROM是可编程的ROM。EPROM是可擦除可编程的ROM(通过紫外光照射擦除)。EEPROM(电子擦除)。

    5、FLASH 闪存

        FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据,同时可以快速读取数据(NVRAM的优势)。FLASH主要用于存储bootloader以及操作系统或者程序代码。或者直接当硬盘使用(U盘)。

    6、FLASH分类

        FLASH分为NOR FLASH和NAND FLASH。

        NOR FLASH的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH 里面的代码,这样可以减少SDRAM的容量从而节约了成本。生产厂家:Intel、AMD、Fujitsu和Toshiba。

        NAND FLASH 没有采取内存的随机读取技术,它的读取是以一次读取512字节,采用这种技术的FLASH比较廉价。用户不能直接运行NAND FLAH上的代码,因此好多使用NAND FLASH的开发板除了使用NAND FLASH 以外,还用了一块小的NOR FLASH来运行启动代码。生产厂家:Samsung和Toshiba。

        

    展开全文
  • 对于HotSpot虚拟机来说,Java的实例对象在内存中存储分为三块区域,分别是对象头、实例数据、对齐填充。 对象头 对象头包含部分,第一部分用于存储对象自身运行时的数据,包括GC分代年龄、哈希码、锁状态、...

    对于HotSpot虚拟机来说,Java类的实例对象在内存中存储分为三块区域,分别是对象头、实例数据、对齐填充。

    对象头

    对象头包含两部分,第一部分用于存储对象自身运行时的数据,包括GC分代年龄、哈希码、锁状态、线程持有的锁等数据,这部分的数据长度在32位和64位虚拟机中分别为32位和64位,被称为“Mark Word”。

    对象头的另一部分用于存储对象的类元数据的指针,虚拟机通过这个指针可以知道对象是哪个类的实例。

    实例数据

    实例数据用于存储在程序代码中定义的各种类型的字段内容,也包含从父类继承来的。这部分数据的存储顺序会受到虚拟机分配策略参数和字段在代码中定义的顺序的影响。

    对齐填充

    在HotSpot虚拟机中,对象的大小要求是8字节的整数倍,因为对象头的大小正好是8字节的一倍或两倍,而实例数据部分可能不是8字节的整数倍,所以需要凑齐8字节的整数倍,就用到了对齐填充部分,它仅仅是用于占位的作用。
    这里写图片描述

    展开全文
  • java内存模型与加载机制

    千次阅读 2016-08-08 13:06:57
    Java内存模型,是指多线程并发时,将内存分为主内存和工作内存,每条线程运行时拥有自己的内存区域。 Java内存模型主要从三个特性进行解释。 一是原子性,线程工作时,一共八个原子操作,保证了原子性。工作...

    Java内存模型,是指多线程并发时,将内存分为主内存和工作内存,每条线程运行时拥有自己的内存区域。


    Java内存模型主要从三个特性进行解释。

    一是原子性,线程工作时,一共八个原子操作,保证了原子性。工作时会从主内存中载入(复制)数据,执行的原子操作为read,load,将数据调入CPU运算,执行的原子操作为use,运算完毕从CPU返回工作内存,执行的原子操作为assign,然后从工作内存写回主内存,执行原子操作为store,write。其中read,load和store,write操作具有不可分割性,即每两个之间具有连续性。

    剩下两个为Lock,和unLock原子操作,用于实现线程安全的访问,这两个操作是synchronized关键词的“底层实现”。

    二是可见性,具体实现为volatile关键字.(并不保证原子性)

    三是有序性,具体实现为先行发生原则

    JVM类加载机制

    概述:JVM要想执行class文件,首先会将文件载入虚拟机的方法区内,根据类文件的格式相应的存放数据。在需要产生对象时,从方法区中获取对应的类信息,在堆中建立对象。

    1.       类文件格式:

    魔数:一般为cafebabe,用于判断该文件是否能被JVM执行

    版本号:包括主次版本号,说明能兼容的JDK版本号。

    常量池:包含各种类型的常量,常见的有constant-utf8(String,int,float…)等等。每种常量又有其各自的数据结构(格式)。

    访问标志:说明类的修饰符,如是否是public,final的。是否是注解,枚举类等等。

    类索引,父类索引及接口索引:存放着this,super,及实现接口的索引。

    字段表:包含字段的类型,如为static,final等修饰,其后往往跟着一个属性表

    方法表:包含返回值类型,参数类型,其后也往往跟着属性表,其中的Code属性里存着方法里的代码。

    属性表:往往用于修饰字段表和方法表。

    2.       类加载过程:

    载入:不一定从class文件中加载,如也可以从jar包里加载

    校验:验证类文件格式是否正确,如魔数值,版本号是否匹配当前执行的虚拟机

    准备:对于静态修饰的字段在此进行第一步初始化,如static a=1;

    会先将a初始化为0;

    解析:这一步不一定在初始化之前执行

    初始化:对字段进行初始化,如前面的a,在此阶段会被赋值为1


    展开全文
  • 实例变量和变量内存分配

    千次阅读 2013-11-03 12:54:53
    Java向程序员许下一个承诺:...java内存管理分为两方面:  1,内存的分配:指创建java对象时,jvm为该对象在堆内存中所分配的内存空间。 2,内存的回收:指当该java对象失去引用,变成垃圾时,jvm的垃圾回收机制自动清
  • JVM加载机制   .java文件编译—>生成JVM能够识别的.class字节码文件—>JVM把.class文件加载到内存—>对数据进行校验、转换解析、初始化 后续由执行引擎执行,在执行过程中,需要运行时...
  • Java中,对象,方法的内存分配

    千次阅读 2017-06-09 10:22:01
    重新理解,对象,内存分配以下针对引用数据类型: 在内存中,是静态的概念,它存在于内存中的CodeSegment中。 当我们使用new关键字生成对象时,JVM根据的代码,去堆内存中开辟一块控件,存放该对象,该对象...
  • C++中的动态内存分配与释放

    千次阅读 2019-09-21 22:01:09
      计算机内存中又分为堆(heap)与栈(stack),前文已经讲过,栈是用于处理自动变量的。而堆就比较厉害了,堆负责动态内存分配。什么是动态内存呢?大部分的变量,在编译后就已经确定了自己在内存的位置;而有些...
  • 最近朋友推荐了一篇关于内存溢出与内存泄漏的文章,感觉写的还不错,于是便在网上搜索了一番,对这块进行了加固,发现自己之前写的代码也存在一些内存泄漏的风险,所以弄懂内存泄漏与内存溢出是很有利于我们提高代码...
  • Flink内存管理源码解读之内存管理器

    千次阅读 2016-04-06 22:55:54
    回顾上一篇文章我们谈了...概述这篇文章我们主要探讨Flink的内存管理MemoryManager涉及到对内存的分配、回收,以及针对预分配内存而提供的memory segment pool。还有支持跨越多个memory segment数据访问的page view。
  • spark 内存管理

    千次阅读 2016-05-17 15:16:08
    Spark中的内存使用分为两部分:执行(execution)与存储(storage)。执行内存主要用于shuffles、joins、sorts和aggregations,存储内存则用于缓存或者跨节点的内部数据传输。 在Spark 1.6之前,这两部分内存的分配...
  • 深入理解Java虚拟机-Java内存区域与内存溢出异常

    万次阅读 多人点赞 2020-01-03 21:42:24
    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来。 文章目录概述运行时数据区域程序计数器(线程私有)...判断对象对应的是否加载、链接、初始化2.为对...
  • 全面理解Java内存模型(JMM)及volatile关键字

    万次阅读 多人点赞 2017-06-12 11:25:05
    需要注意的是,在主内存中的实例对象可以被多线程共享,倘若个线程同时调用了同一个对象的同一个方法,那么条线程会将要操作的数据拷贝一份到自己的工作内存中,执行完成操作后才刷新到主内存,简单示意图如下所...
  • Java的数据类型分为):基本数据类型、引用类型 一、基本数据类型:是进行内容的操作,而不是进行内存的操作; Java数据类型(八大基本数据类型):六种数字类型(四个整数型,个浮点型),一 种字符类型...
  • 一个假如存在一个静态成员变量指针,在以下几种情况下动态分配内存,该如何回收内存: 1)在外部函数中动态分配内存,代码如下: test.cpp class Test { public: static char* m_pSZ; }; char* Test::m_pSZ =...
  • 大数据技术平台主要分为哪几

    千次阅读 2020-04-02 14:04:47
    大数据的处理过程可以分为大数据采集、存储、结构化处理、隐私保护、挖掘、结果展示(发布)等,各种领域的大数据应用一般都会涉及到这些基本过程,但不同应用可能会有所侧重。对于互联网大数据而言,由于其具有独特...
  • 一文理解内存屏障

    千次阅读 多人点赞 2019-05-15 14:40:20
    内存屏障是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采用不同的实现。 本文仅为了帮助...
  • Spark内存管理原理(上)

    千次阅读 2017-03-23 08:43:48
    Spark运行是内存分为三部分,执行内存(execute memory),存储内存(storge memory),预留内存(reserved memory).在1.6版本以前执行内存和存储内存是静态分配的,意思着应用一启动后,各区域的内存大小就是不变的...
  • Java内存模型

    万次阅读 多人点赞 2019-10-04 15:09:15
    Java内存模型(JMM)的介绍 在上一篇文章中总结了线程的状态和基本操作,对多线程已经有一点基本的认识了,如果多线程编程只有这么简单,那我们就不必费劲周折的去学习它了。在多线程中稍微不注意就会出现线程安全...
  • JVM运行时内存结构

    千次阅读 2019-02-26 08:20:52
    主要结构:堆内存、方法区、栈(说明:基于JDK1.7) 堆内存是JVM中最大的一... 方法区存储信息、常量、静态变量等数据,是线程共享的区域,为与Java堆区分,方法区还有一个别名Non-Heap(非堆); 栈又分为java虚...
  • 磁盘 硬盘 内存之间的关系

    千次阅读 2018-06-09 23:49:50
    内存与外存都是计算机用来存储数据的。内存就是内存条,一断电就会把记住的东西丢失。磁盘又分为两类,一类是硬盘,一类是软盘。磁盘的存储数据比内存慢很多。...
  • 在这个系列的前四篇文章中,我分别介绍了DVM、ART、内存泄漏和内存检测工具的相关知识点,这一篇我们通过一个小例子,来学习如何使用内存分析工具MAT。
  • 面试官:说说什么是 Java 内存模型(JMM)?

    万次阅读 多人点赞 2021-05-05 23:23:20
    本文禁止转载 1. 为什么要有内存模型? 1.1. 硬件内存架构 1.2. 缓存一致性问题 ...面试者内心狂喜,这题刚背过:『Java内存主要分为五大块:堆、方法区、虚拟机栈、本地方法栈、PC寄存器,ba.
  • JVM内存模型及分区

    万次阅读 2016-05-30 23:43:12
    Java虚拟机在程序执行过程会把jvm的内存分为若干个不同的数据区域来管理,这些区域有自己的用途,以及创建和销毁时间。 jvm管理的内存区域包括以下几个区域: 栈区: 栈分为java虚拟机栈和本地方法栈 重点是Java...
  • C++ 内存池介绍与经典内存池的实现

    万次阅读 多人点赞 2015-11-01 00:04:38
    1.默认内存管理函数的不足利用默认的内存管理函数new/delete或malloc/free在堆上分配和释放内存会有一些额外的开销。系统在接收到分配一定大小内存的请求时,首先查找内部维护的内存空闲块表,并且需要根据一定的...
  • Java基础恶补——内存泄露、内存溢出

    万次阅读 多人点赞 2013-11-19 09:29:28
    Java基础恶补——内存泄露、内存溢出 (2010-09-15 15:56:26) 转载 ...内存泄露是指程序中间动态分配了内存,但在程序结束时没有释放这部分内存,从而造成那部分内存不可用的情况,重启计算机...内存泄漏可以分为4
  • 在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾收集器(Garbage Collection,GC)完成的,程序员不需要通过调用函数来释放内存,但也随之带来了内存泄漏的可能
  • JVM内存结构

    万次阅读 2019-11-09 14:50:17
    Java虚拟机运行时数据区域被分为五个区域:堆(Heap)、栈(Stack)、方法区(Method Area)、本地方法栈(Native Stack)、程序计数器(Program Count Register)。本次将根据这5个子模块详细介绍JVM的内存结构。
  • Tomcat调优总结【内存和线程】

    万次阅读 2017-11-13 11:31:13
    Java 的内存模型分为: Young,年轻代(易被 GC)。Young 区被划分为三部分,Eden 区和个大小严格相同的 Survivor 区,其中 Survivor 区间中,某一时刻只有其中一个是被使用的,另外一个留做垃圾收集时复制对象...
  • 内存泄漏与内存溢出总结

    千次阅读 2017-04-08 12:14:00
    如果急着解决,直接看 “常见的内存溢出处理”,”常见的内存泄漏”java 内存分配策略Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,对应的,三种存储策略使用的内存空间主要分别是静态...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 484,714
精华内容 193,885
关键字:

内存分为两类