java程序员的基本修养(一)----数组其内存管理

1 数组初始化

   java数组是静态的,所以当数组被初始化后,数组所占的内存空间、数组长度都是不可变的。数组要经过初始化才能被使用,即创建市级的数组对象,在内存中为数组对象分配内存空间,每个数组元素指定初始值。

  数组初始化有两种方式:

(1)静态初始化:

    制定数组元素初始值,由系统决定数组长度

  String[] s = new String[]

{

    "a","b,"c"

}

(2)动态初始化:

  指定数组长度,系统为数组元素分配初始值

String[]  s =  new String[5]

   数组变量是一种引用类型的变量,数组变量并不是数组本身,是指向堆内存的数组对象。当数组对象没有引用变量来引用该数组时,该数组对象将会变成垃圾,等着垃圾回收机制来回收。

   在使用java数组之前先进行初始化,数组变量是一个引用变量,数组对象是保存在堆内存中的连续内存空间,对数组进行初始化不是对数组变量进行初始化,而是在堆内存中创建数组对象, 所有对于数组变量,本身不需要进行初始化,只要让数组变量指向一个有效的数组对象,就可以使用该数组变量了。


引用变量本质上是一个指针, 只要程序通过引用变量访问属性,或者通过引用变量来调用方法,该引用变量会由它所引用的对象代替

基本类型数组:

引用类型数组:

引用类型数组的数组元素其实就是一个引用类型的变量,可以指向任何有效的内存。

对于main方法中申明的局部变量,都是放在栈内存中保存,假如是基本类型的变量,值也是保存在栈内存中,但引用类型的变量所引用的对象则总是存储在堆内存中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值