Java 03-基础 堆和栈(另,理解Java内存)
2024-10-20 16:03:58
概述:
栈区(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”。也就是说引用类型及用了栈区的空间也用了堆区的空间,而基本数据类型只需要在栈区存取就行
深入理解:
最新文章
- 7.7 数据注解特性--Table
- sqlplus 中spool命令的简单用法
- 一款查看mysql QPS的脚本
- SRM 588 DIV1
- 黑客入门之IP地址及常用命令
- lua代码优化(转)
- 关于HTTP协议的学习
- POJ 3393 Lucky and Good Months by Gregorian Calendar
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
- angularjs学习笔记—事件指令
- iOS 使用Block实现函数回调
- BST树,B树、B-树、B+树、B*树
- js-转大小写
- ssh远程登录命令简单实例
- Scala Option类型
- 微信小程序 canvas 内容(宽高) 兼容不同机型
- Oracle控制文件冗余
- NOIP2018 20天训练
- centos7-网络连接
- STM32-M0中断优先级介绍