疯狂java基本功16讲(1)----数组与内存控制

重点讲述问题:
(1)、Java数组在内存分配方面的知识
(2)、Java数组的静态特征,即Java数组一旦初始化完成,该数组长度将不可改变
(3)、Java数组静态初始化、动态初始化的内存分配细节


(2)、Java数组的静态特征
Java数组是静态的,即当数组被初始化后,该数组的长度是不可变的。

(3)、Java数组静态初始化、动态初始化
Java程序中的数组必须经过初始化才可使用。所谓初始化,就是为数组对象的元素分配内存空间,并为每个元素指定初始值。

静态初始化:初始化时由程序显式指定每个数组元素的初始值,由系统决定数组长度。

动态初始化:初始化时只指定数组长度,由系统为数组元素分配初始值。



package com.crazyjava;

public class OneArray {
public static void main(String[] args) {
//采用静态初始化方式初始化数组
String[] books = new String[]{
"Java编程思想",
"操作系统",
"计算机网络"
};
//采用静态初始化简化形式初始化数组
String[] names = {
"孙悟空",
"唐僧",
"猪八戒"
};
//采用动态初始化数组
String[] strArr = new String[5];
System.out.println("第一个数组长度:"+books.length);
System.out.println("第二个数组长度:"+names.length);
System.out.println("第三个数组长度:"+strArr.length);
}
}



(1)、Java数组在内存分配方面的知识
执行动态初始化时系统为数组元素分配初始值:
(1)数组元素类型为整数类型(byte,short,int,long),为0.
(2)数组元素类型为浮点类型(float,double),为0.0.
(3)为布尔型(boolean),为false
(4)为引用类型,为null

Java的数组是静态的,一旦为数组初始化完成,数组元素的内存空间分配即结束,程序只能改变数组元素的值,而无法改变数组的长度。


Java的数组变量是引用类型的变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中即可使用该数组变量。

所有局部变量都是放在栈内存里保存的,不管其是基本类型的变量,还是引用类型的变量,都是存储在各自的方法栈区中;但引用类型变量所引用的对象则总是存储在堆内存中。

堆内存中的对象通常不允许直接访问,只能通过引用变量。
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值