Java 03-基础 堆和栈(另,理解Java内存)

概述:

  栈区(STACK)堆区(HEAP)

  1、栈中主要存放一些基本类型的变量,且每一个基本数据类型有固定的大小(byte,short,int,long,float,double,boolean,char),和引用类型的内存地址

  2、堆中主要存放引用类型的数据

  3、栈的存取速度比堆快

  4、栈的数据可以共享

  5、栈的数据大小确定的,堆的数据大小可变的

 

  区别:栈区开辟一块固定大小的空间保存基本类型,堆区开辟一块可变的空间保存引用类型。

  引用类型的保存过程:例:String b = “aaa”,

  堆区开辟空间保存“aaa”,并且在栈区保存“aaa”的内存地址(例:地址为0x11),0x11记录在堆区保存的位置信息,实现对应关系。

  外部寻找“aaa”时,先寻找栈区“aaa”的内存地址,内存地址对应堆区的某一个位置(也就是“aaa”的位置)通过内存地址找到堆区的“aaa”。也就是说引用类型及用了栈区的空间也用了堆区的空间,而基本数据类型只需要在栈区存取就行

 

深入理解:

 

 

 

  

posted @   小小生Sir  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示