java数据存储:1:寄存器2:本地方法区3:方法区 4:栈 5:堆

堆内存

堆内存 是java内存中的一种,它的作用是用于存储java中的对象和数组,当我们new一个对象(对象的成员变量)或者创建一个数组的时候,就会在堆内存中开辟一段空间给它,用于存放。

特点:

  1. 先进先出,后进后出

  2. 堆可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,但缺点是,由于要在运行时动态分配内存,存取速度较慢。

  3. new对象在堆中如何分配?

由Java虚拟机的自动垃圾回收器来管理。

  1. 堆内存是所有线程共有的

栈内存

栈内存是Java的另一种内存,主要是用来执行程序用的。

栈内存用来存放方法 或者局部变量

特点:

  1. 先进后出,后进先出

  2. 存取速度比堆要快,仅次于寄存器,栈数据可以共享,但缺点是,存在栈中的数据大小与生存必须是确定的,缺乏灵活性

  3. 栈内存可以称为一级缓存,由垃圾回收器自动回收

  4. 栈内存是线程私有的

相关推荐
Cg13626915974几秒前
Super的详解
java
QX_hao4 分钟前
【Go】--扩容机制
开发语言·golang
weixin_307779136 分钟前
Clickhouse导出库的表、视图、用户和角色定义的SQL语句
开发语言·数据库·算法·clickhouse·自动化
毕设源码-朱学姐10 分钟前
【开题答辩全过程】以 便利店库存管理系统为例,包含答辩的问题和答案
java·eclipse
流星白龙18 分钟前
【Qt】7.信号和槽_connect函数用法(1)
开发语言·数据库·qt
Nero1822 分钟前
代码随想录二刷第九天 | 232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
java
泉城老铁34 分钟前
tomcat 部署springboot,线程经常断开导致数据库连接池关闭,如何解决
java·spring boot·后端
小龙报34 分钟前
《算法通关指南---C++编程篇(1)》
开发语言·c++·程序人生·算法·学习方法·visual studio
Nero1835 分钟前
代码随想录二刷第八天 | 28. 实现 strStr()、459.重复的子字符串
java
Le1Yu42 分钟前
配置管理的配置与拉取、热更新的配置、动态路由
java