美文网首页
堆和栈区

堆和栈区

作者: 天马行空爱做梦 | 来源:发表于2021-05-27 09:54 被阅读0次

  一类存储在栈区,通常是局部变量、操作符栈、函数参数传递和返回值,另一类存储在堆区,通常是较大的结构体(或者OOP中的对象)、需要反复访问的全局变量。

  一类是存储在堆区,堆区就是各种慢,申请内存慢,访问慢,修改慢,释放慢,整理慢(或者说GC垃圾回收),但优点也不言而喻,访问随机灵活,空间超大,在不超可用内存的情况下你要多大就给多大。

  栈区就像临时工,干完就跑,所以超快,但是缺点也很多,比如生命周期短,一般只能在一个方法内存活,又比如你需要事先知道需要多大的栈(事实上绝大多数语言栈区要分配的大小编译期就确定了,Java就是这样),而且通常最大栈区可用内存都很小,你不可能往栈区里堆很多数据。

相关文章

  • 堆与栈 堆区和栈区的区别

    一、 栈和堆事数据结构中的叫法,栈区和堆区是进程的内存模型中的堆区和栈区 二 内存模型里堆区和栈区和数据结构没有关...

  • 线性表和队列

    首先,讨论的堆和栈指的是内存中的“堆区”和“栈区”。C语言的内存模型分为5个区:栈区、堆区、静态区、常量区、代码区...

  • 堆和栈区

      一类存储在栈区,通常是局部变量、操作符栈、函数参数传递和返回值,另一类存储在堆区,通常是较大的结构体(或者OO...

  • 栈和堆以及栈区和堆区的区别

    栈和堆以及栈区和堆区的区别 数据结构中的栈和堆 栈:具有先进后出性质的数据结构 堆:一种经过排序的树形数据结构,节...

  • OC的五大内存区域

    栈区(stack)堆区(heap)全局区/静态区(BSS段和数据段)常量区代码区(代码段) 1、栈区 栈区:又称堆...

  • JS基础稳固堆和栈理解

    什么是堆和栈? 堆和栈都是运行时内存中分配的一个数据区,因此也被称为堆区和栈区,但二者存储的数据类型和处理速度不同...

  • 存储区域

    栈区、堆区、全局区、常量区、代码区 栈区 栈区由编译器自动分配和释放,存放函数参数值、局部变量。栈是系统数据结构,...

  • JVM内存模型和GC的解析

    JVM调优是调整:方法区和堆(主要是堆) 栈管运行,堆管存储 堆和方法区是所有线程共享的内存区域;栈和程序计数器是...

  • JVM 内存介绍

    和jvm(Java Virtual Machine)相关的内存,一般分为栈区、堆区、方法区(永久区)等。 一、栈区...

  • 运行时数据区域

    主要分为方法区,虚拟机栈,本地方法栈,程序计数器,堆。其中方法区和堆是所有线程共享的数据区,虚拟机栈,本地方法栈,...

网友评论

      本文标题:堆和栈区

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