zoukankan      html  css  js  c++  java
  • 堆,栈

    一:概念

    1.栈:当程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会被释放,这个栈中的变量也将随之释放。

    2.推:存放不在当前方法栈中的那些数据

    二、内存区域类型

    1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制;

    1. 栈:存放基本类型 的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new出来的对象)或者常量池中(字符串常量对象存放的常量池中),局部变量【注意:(方法中的局部变量使用final修饰后,放在堆中,而不是栈中)】

    2.堆:存放使用new创建的对象,全局变量

    3. 静态域:存放静态成员(static定义的);

    4. 常量池:字符串常量和基本类型常量(public static final)。有时,在嵌入式系统中,常量本身会和其他部分分割离开(由于版权等其他原因),所以在这种情况下,可以选择将其放在ROM中 ;

    5. 非RAM存储:硬盘等永久存储空间

    三、栈中放的东西,图示:

    JAVA堆里放啥,栈里放啥,一看就懂

    JAVA堆里放啥,栈里放啥,一看就懂

    四、堆存放示意图:

    JAVA堆里放啥,栈里放啥,一看就懂

    对于String类的对象特别说明一下:

    JAVA堆里放啥,栈里放啥,一看就懂

    转载自:https://blog.csdn.net/weixin_39382337/article/details/79427181

  • 相关阅读:
    SpringDataJPA中No serializer
    SpringDataJPA中NO Session错误
    SpringDataJpa
    SSJ集成
    Spring创建对象的4种方式
    Properties在xml中添加值
    在ubuntu上进行React-Native开发之环境搭建
    免费学外语?上这10个网站。知道一个算你牛!
    ListView circleImageView Item test
    apk瘦身 提高优化效果
  • 原文地址:https://www.cnblogs.com/PengChengLi/p/10487988.html
Copyright © 2011-2022 走看看