数组赋值,数组赋值给单元格

首页>>技术文档>>产品文档

  本节主要内容:

  1:java中内存分配及棧、堆数组赋值的区别

  2:本节总结&下节预告

  本文出处:《凯哥陪数组赋值你学系列之java基础篇.Java基本语法篇》中第23篇 数组2 java中内存分配及棧、堆的区别

  java内存区域分类:

  1: 棧(需要掌握的)

  存储局部变量的

  局部变量;

  定义在方法声明上和方法中的变量。比如在main方法声明的int i =3;

  2:堆(需要掌握的)

  存储new出来的数组或是对象

数组赋值,数组赋值给单元格

  3:防范区

  面向对象部分讲解

  4:本地方法区

  和系统相关

  5:寄存器

  给CPU使用的

  解释:

数组赋值,数组赋值给单元格

  int [] arr = new int [5];这个在棧、堆中存储

  说明:

  棧的特点:先进后出。可以联想到弹夹中的子弹。

  弹夹中最先放进去的子弹数组赋值,最后出枪膛。

  int [] arr = new int [5];这个在棧、堆中存储模型

  说明:

  根据棧的定义数组赋值,我们可以知道main方法是局部的。

  所以main方法应该在棧中。

  而 int [] arr 是在main方法中。所以也在棧区域中。

  又因为,jvm最先找main方法。所以main方法被压棧,到棧区域最下面了。

  根据堆的定义,我们知道 new int[5] 这个应在堆区域中。

  对应的地址是0x0011 索引分别是 0 、1、2、....

  系统给定的默认初始值都是0

  在将堆中地址引用指向棧中。所以当我们打印出arr的时候,其实就是打印出,该

  数组在堆中的地址值。

  在回顾上节课:

  在syetem.out.println(arr)其实打印的就是其对应在内存中的地址。

  本节总结:

  通过本节学习,需要掌握的:

  1:堆、棧的区别及分别存放的是什么数据

  2:理解堆、棧在内存中的方式

  下节预告:

  一维数组在动态赋值在内存中图解。

  欢迎关注凯哥公众号:凯哥Java

上一篇: asp虚拟主机,虚拟主机部署网站

下一篇: 迭代开发,迭代式开发的好处