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

  • 相关阅读:
    通用的web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等)
    DALSA Coreco
    环境变量之执行文件路径的变量PATH
    命令与文件的查询
    软件开发工具GCC
    权限与命令之间的关系
    Linux防火墙
    网络管理
    分区及格式化
    VMware Workstation的网络连接方式:NAT、桥接和Host Only
  • 原文地址:https://www.cnblogs.com/PengChengLi/p/10487988.html
Copyright © 2011-2022 走看看