1. Java数组与内存控制
来源:互联网 发布:js判断div加载完成 编辑:程序博客网 时间:2024/04/26 11:49
一、Java数组初始化
Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值。
Java基本类型数组的两种初始化方式
- 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。
- 动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。
不要同时使用静态初始化和动态初始化,也就是说,不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值。
Java的数组是静态的,一旦数组初始化完成,数组元素的内存空间分配即结束,程序只能改变数组元素的值,而无法改变数组的长度。Java的数组变量是一种引用类型的变量,数组变量并不是数组本身,它只是指向堆内存中的数组对象。因此,可以改变一个数组变量所引用的数组,这样可以造成数组长度可变的假象。
二:Java数组内存存放
对于基本类型数组而言,数组元素的值直接存储在对应的数组元素中,因此基本类型数组的初始化比较简单:程序直接先为数组分配内存空间,再将数组元素的值存入对应内存里。
所有局部变量都是存放在栈内存里保存的,不管其是基本类型的变量,还是引用类型的变量,都是存储在各自的方法栈区中;但引用类型变量所引用的对象(数组、普通Java对象)则总是存储在堆内存中。
对于很多Java程序员而言,他们最容易混淆的是:引用类型变量何时只是栈内存中的变量本身,何时又变为引用实际的Java对象。其实规则很简单:引用变量本质上只是一个指针,只要程序通过引用变量访问属性,或者通过调用引用变量来调用方法,该引用变量将会由它所引用的对象代替。
三:使用数组
当数组引用变量指向一个有效的数组对象之后,程序就可以通过该数组引用变量来访问数组对象。Java语言不允许直接访问堆内存中的数据,因此无法直接访问堆内存中的数组对象,程序将通过数组引用变量来访问数组。
- 1. Java数组与内存控制
- java数组与内存控制
- Java数组与内存控制
- Java数组与内存控制
- java 数组与内存控制
- Java数组与内存控制
- Java数组与内存控制
- Java---数组与内存控制
- Java数组与内存控制(转)
- Java进阶---数组与内存控制
- 疯狂java之数组与内存控制
- (一)Java数组与内存控制
- java之数组与内存控制
- java 基础概念 -- 数组与内存控制
- Java数组初始化与内存控制
- Java数组与内存控制(转)
- 数组与内存控制
- 数组与内存控制
- PHP取得当前插入数据库中记录的id值
- 标准模板库STL经典书籍(必读)
- ADO方式连接数据库,出现"无效指针"错误,错误代码为:0x80004003
- ZOJ 3652 MAZE(BFS)
- POJ 2773
- 1. Java数组与内存控制
- strcpy函数、strncpy函数与memcpy函数
- 网络运营路测数据展示技术之扇区查询及选择模式切换
- 字典树数据结构
- poj 1083 hdu1050 Moving Tables 贪心问题
- 旋转矩阵
- Android 桌面组件【widget】 初学
- Struts中使用 DelegatingRequestProcessor
- Java 内部类注意事项