美文网首页
了解内存

了解内存

作者: xiaosasaa | 来源:发表于2017-10-11 22:55 被阅读0次

程序运行时,我们需要知道数据到底是存在什么地方,有6个地方可以存储数据:

1、寄存器。最快的保存区域,位于处理器内部。寄存器的大小有限,由编译器的分配大小。

2、堆栈。驻留在常规RAM(随机访问存储器)区域,通过“堆栈指针”可以改变大小。堆栈指针向下移动,会创建新的内存空间;向上移动,则释放内存空间。创建程序时,Java编译器必须准确地知道堆栈内保存的所有数据的“长度”和“存在的时间”,编译器由此生成相应的代码,以便移动指针。Java对象的句柄保存在其中,但是Java对象并不保存在堆栈中。

3、堆。常规用途的内存池,其中保存了Java对象。编译器不知道也不需要知道从“内存堆”或“堆”里分配多少存储空间、数据存留多长时间。

4、静态存储。静态指位于固定的位置(在RAM中)。程序运行期间,静态存储的数据将随时供调用。通过static关键字指出一个对象的特定元素是静态的。Java本身本不可能置于静态存储空间。

5、常数存储。常数值通常置于程序代码内部,永远不会改变。

6、非RAM存储。若数据完全独立于一个程序之外,则程序不运行时仍可存在,并在程序的控制范围之内。例如,流式对象和固定对象。

相关文章

  • 了解内存

    程序运行时,我们需要知道数据到底是存在什么地方,有6个地方可以存储数据: 1、寄存器。最快的保存区域,位于处理器内...

  • 深入理解JVM之Java内存模型

    要了解Java内存模型,首先我们要了解什么是Java内存模型,它有什么作用?描述Java内存模型(简称:JMM)的...

  • OC基础篇:内存管理、属性

    内存管理 为什么要了解内存管理? 了解内存管理之后,其实发现很多东西与我们编写代码关系不大,但是为什么还要了解它呢...

  • 深入理解JVM-内存模型(jmm)和GC

    1 CPU和内存的交互 了解jvm内存模型前,了解下cpu和计算机内存的交互情况。【因为Java虚拟机内存模型定义...

  • 性能优化<第五篇>:内存优化

    1、为什么要内存优化? 2、了解内存中的内容 3、内存上限 4、GC内存回收机制 5、内存泄漏、内存抖动、内存溢出...

  • 学Java· 从new说对象实例化

    概念了解 想要知道内存中发生了什么,我们先来了解两个内存概念?? 1.堆内存:保存对象的属性内容。堆内存需要用ne...

  • Android内存优化-了解内存篇

    查看系统内存 文件 命令 API 监控 查看进程内存 命令 API 重要的列 Private Clean从某个持久...

  • 安卓中 GC

    [序言] GC是Java对内存回收机制,了解GC,应该从了解GC的概念、内存分配、识别哪些内存需要回收和回收方式几...

  • iOS 启动优化②之二进制重排

    虚拟内存 在了解二进制重排之前,我们先了解虚拟内存,详细的可以查看iOS 系统是怎么管理内存的[https://w...

  • Android线程篇(七):多线程下的缓存一致性问题

    这篇文章,必须了解Java虚拟机的内存模型和CUP的内存架构,不了解的同学速度学习前两篇。 Java内存模型:An...

网友评论

      本文标题:了解内存

      本文链接:https://www.haomeiwen.com/subject/ggpwyxtx.html