堆中存什么?栈中存什么?
堆中存的是对象。栈中存的是基本数据类型和堆中对象的引用。一个对象的大小是不可估计的,或者说是可以动态变化的,但是在栈中,一个对象只对应了一个4btye的引用(堆栈分离的好处:))。
为什么不把基本类型放堆中呢?因为其占用的空间一般是1~8个字节——需要空间比较少,而且因为是基本类型,所以不会出现动态增长的情况——长度固定,因此栈中存储就够了,如果把他存在堆中是没有什么意义的(还会浪费空间,后面说明)。可以这么说,基本类型和对象的引用都是存放在栈中,而且都是几个字节的一个数,因此在程序运行时,他们的处理方式是统一的。但是基本类型、对象引用和对象本身就有所区别了,因为一个是栈中的数据一个是堆中的数据。最常见的一个问题就是,Java中参数传递时的问题。
堆中存什么?栈中存什么?相关推荐
- java中stack heap_java虚拟机中的堆(heap)、栈(stack)、方法区(method area)
1.堆区 存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指令) jvm只有一个heap区,被所有线程共享,不存放基本类型和对象引用,只存放对象本身 堆的优 ...
- 递归和迭代在图遍历中的对比-栈结构
递归和迭代在图遍历中的对比-栈结构 递归和迭代在图遍历中的对比-栈结构 递归和迭代 总结一下 递归和迭代在图遍历中的对比-栈结构 做了两道图遍历相关的题,分别是Leetcode230. Kth Sma ...
- a = 3 中3在栈还是堆_56.堆、栈、方法区(3.0)
0.上面比较形象可以看出堆.栈.方法区之间的区别, 栈存的是局部变量.堆一般是对象等等,而方法区存在的事一些信息加载出来等等,他们互相分工. 1.String a=new String("f ...
- java栈 类 堆_详细介绍Java中的堆和栈
栈与堆都是Java用来在RAM中寄存数据的中央.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运转时数据区,类的对象从中分配空间.这些对象经过new.newar ...
- c语言中栈堆,全程剖析C语言中堆和栈的区别
C语言中堆和栈的区别 1.申请方式 (1)栈(satck):由系统自动分配.例如,声明在函数中一个局部变量int b;系统自动在栈中为b开辟空间. (2)堆(heap):需程序员自己申请(调用mall ...
- 怎样把DataGrid存放在ViewState中的无用数据卡掉
作者:无间道的博客http://www.cnblogs.com/wangsaokui/articles/10031.html 怎样把 DataGrid 存放在 ViewState 中的无用数据(有时候 ...
- 乐视云监控数据存放到influxdb中
3.9 监控.告警系统 监控报警我们分PaaS平台和业务应用两大类. PaaS平台主要聚焦在基础设施和LeEngine的各个服务组件的监控报警(比如主机CPU,内存,IO,磁盘空间,LeEng ...
- linux中在vi编辑器中执行存盘退出命令是?
linux中在vi编辑器中执行存盘退出命令是? 方法一:首先需要按ESC键回到命令模式,然后按:wq. 方法二:按住shift再按两下'z'键.
- 单片机c语言存数据,单片机中C语言的数据存储与程序编写
一.五大内存分区 内存分成5个区,它们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 1.栈区(stack):FIFO就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区. ...
最新文章
- RobotFramework下的http接口自动化Set Request Body 关键字的使用
- python使用matplotlib可视化线图(line plot)、设置X轴坐标的下限和上限数值(setting the lower and upper bound of the x axis)
- Linear Programming_the simplex method in tableau format
- C++描述杭电OJ 2000. ASCII码排序 ||
- 2003 r2 64 iis php mysql_关于在win2003中,iis+php+mysql 配置的问题
- android netty导入_Android Netty框架的使用
- 动态修改网页title
- tomcat——轻量级中间件学习
- 石油与天然气行业中数据报表分析
- Android学习笔记(十五)——实战:强制下线
- 如何卸载office201032位_如何卸载流氓版office2010
- Linux 无线网卡驱动安装 Dell Inspiron R14-N4010 笔记本
- 简单的爬图片代码(python)
- 代码质量保证体系(上)
- Shader Reflection Probe 获取图像
- 钉钉机器人发送定时任务
- MYSQL之错误代码----mysql错误代码与JAVA实现
- Learning Entity and Relation Embeddings for Knowledge Graph Completion (TransR)论文翻译
- 简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)
- 使用idea批量反编译class
热门文章
- vue即时通讯,一个很好用的插件
- 小程序如何生成二维码海报?
- Opencv测量图片中的物体大小
- 【计算机系统结构】~ ROM/PROM/EPROM/E2PROM/FLASH、SOC 片上系统、总线、CPU 处理器、Cache、DDR、ARM 体系结构、虚拟内存、内核 kernel
- 【渝粤题库】国家开放大学2021春2408中国当代文学题目
- axure变成一个小手了_Axure教程:这几个小技巧你一定要知道
- 【WPF学习手记】绘制箭头
- JMeter 5.0安装配置(win10)
- linux 未分配分区合并,这种情况如何扩展硬盘,合并硬盘分区,主分盘和未分配中间有个恢復分区,不能合并扩展硬盘!...
- EGL接口介绍(转)