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

堆内存

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

特点:

  1. 先进先出,后进后出

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

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

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

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

栈内存

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

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

特点:

  1. 先进后出,后进先出

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

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

  4. 栈内存是线程私有的

相关推荐
毕设源码-钟学长30 分钟前
【开题答辩全过程】以 个性化电影推荐网站的设计与实现为例,包含答辩的问题和答案
java·spring boot
C++业余爱好者38 分钟前
Power Job 快速搭建 及通信机制介绍
java
麒qiqi44 分钟前
理解 Linux IO 多路复用
开发语言·数据库
MediaTea1 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python
qq_2704900961 小时前
SpringBoot药品管理系统设计实现
java·spring boot·后端
、BeYourself2 小时前
SpringAI-ChatClient Fluent API 详解
java·后端·springai
代码or搬砖2 小时前
HashMap源码
开发语言·python·哈希算法
星辰_mya2 小时前
reids哨兵集群与选主
java·开发语言
BD_Marathon2 小时前
SpringBoot快速入门
java·spring boot·后端
期待のcode2 小时前
Java的多态
java·开发语言