数组的内存执行原理

一.Java内存分配介绍

JVM虚拟机会在内存中执行程序

java内存分配介绍 

方法区,栈,堆

首先将编译过后的.class文件送入方法区中。当类开始运行时将方法调入栈内存中,变量也是属于方法的,因此同方法一起进入栈内存中。当main方法要执行时,其实是将main方法提到栈里面运行的。new出来的东西在堆中开辟空间并产生地址(数组,对象) 。

二.程序运行原理

1. 首先会将class文件提取到方法区中,class文件中有main方法

2.会将main方法加载到栈中来执行(方法在栈中执行)

3.执行基本类型的变量,会在栈中开辟变量a的空间

4.首先会在栈内存中开辟变量arr的空间(仅存储数组地址),由于是数组是new出来的对象,所以会在堆内存中开辟一块空间存储数组

5.打印arr,由于arr变量存储的是地址,因此会打印出数组地址出来

6.arr[1]通过arr变量中存储的数组地址找到堆中的数组,从而打印出堆中的第二个元素

7.更新数组对象:通过arr中的数组地址找到堆中的数组对象从而分别将他们修改

8.打印数组内容,根据arr中的地址找到数组并将其内容打印出来

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值