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

堆内存

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

特点:

  1. 先进先出,后进后出

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

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

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

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

栈内存

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

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

特点:

  1. 先进后出,后进先出

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

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

  4. 栈内存是线程私有的

相关推荐
程序员黑豆1 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
wuyk5553 小时前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
hey_sml3 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
Doraemomo3 小时前
数据结构-环形链表
java·数据结构·链表
萧瑟余晖4 小时前
Java深入解析篇十七之SpringCloud
java·开发语言
是未才5 小时前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
ttod_qzstudio5 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
萧瑟余晖6 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
不老刘7 小时前
【Java入门】Java服务部署方式全景对比:从java -jar到K8s
java·kubernetes·jar
离陌在学C#9 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#