栈和堆

1.java的内存划分

(1)寄存器。cpu涉及区域

(2)本地方法区。是和系统相关的代码存储区域

(3)栈内存:存储的都是局部变量,变量运算区域一结束,就释放。

                     局部变量:在方法上的参数,方法内的变量,语句中的变量。

(4)堆内存:存储的是数组和对象,简单说,堆内存中存储的都是实体。

                     实体:简单理解为可以存储多个数据的地方。记住,只要是用new建立的都存储在堆内存中

                     特点:1.任何实体都有内存地址值。

                                  2.堆内存中的变量都有默认初始化值。

(5)方法区:存储函数的地方(共享数据)。

2.以数组为例(引用数据类型)


0x0056是十六进制,是这儿数组的模拟首地址值,将数组赋给arr,也就是将首地址给arr。

数组的赋值:


当所有的指向(指向数组的变量)都取消后,数组就会成为垃圾,会不定时被垃圾回收机制回收。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值