Java数组初始化与内存控制
来源:互联网 发布:贪吃蛇java设计 编辑:程序博客网 时间:2024/04/28 23:08
一、Java数组是静态的
Java是典型的静态语言,Java数组自然也是静态的,即当数组被初始化后,数组的长度是不可变的;
二、何谓数组初始化
所谓数组初始化,就是在堆内存中为数组对象分配一块连续的内存空间,并为每个数组元素指定初始值。
三、数组初始化方式
有两种方式:
1、静态初始化:由程序员显式指定每个数组元素的初始值,由系统确定数组大小;
2、动态初始化:由程序员指定数组大小,由系统为每个数组元素分配初始值;
四、数组变量与数组对象
数组变量:
数组变量是一种引用变量类型(本质就是指针),创建在栈区中;(在Java中,所有的局部变量都存放在栈区中,不管是基本数据类型(int、short、long、byte、boolean、char、float等)变量,还是引用类型变量;Java中堆内存中的对象通常不允许直接访问,为了访问其中对象,只能通过栈区的引用对象)
如String[] books = new String[5];中books就是数组变量;
数组对象:
数组对象是“真正的数组”,创建在堆内存中;
对于基本类型的数组对象,数据元素值直接存放在初始化分配的内存空间中;而对于复杂类型(如String)的数组对象,初始化分配的内存空间同样为引用,引用(指向)常量池(Constant Pool)或其他内存区域的对象;
如String[] books = new String[5];中new String[5]就是数组对象;
它们的关系:
该数组变量,引用(指向)堆内存中数组对象;
总结:
所以请始终记住:Java的数组变量是引用类型的变量,他并不是数组对象本身,并不需要进行初始化,只要让数组变量指向堆内存中有效的数组对象,程序就可以使用该数组变量,该引用变量就会由它所引用的对象代替,系统就会自动变为访问堆内存中相应的数组对象。
- Java数组初始化与内存控制
- java数组与内存控制
- Java数组与内存控制
- Java数组与内存控制
- java 数组与内存控制
- Java数组与内存控制
- Java数组与内存控制
- Java---数组与内存控制
- (1)疯狂java:数据与内存的控制____数组初始化__1.1.2 数组一定要初始化吗
- java数组的初始化与内存分配
- (1)疯狂java:数据与内存的控制____数组初始化__1.1.1 java数组是静态的
- 1. Java数组与内存控制
- Java数组与内存控制(转)
- Java进阶---数组与内存控制
- 疯狂java之数组与内存控制
- (一)Java数组与内存控制
- java之数组与内存控制
- java 基础概念 -- 数组与内存控制
- SSDP设备发现的大致流程
- Android的绘图机制学习---自定义View
- virtualbox 下Windows、Linux共享文件夹
- 缓存淘汰算法--LRU算法【最近最少使用算法LRU置换策略适用于热点数据比较多的场景】
- 2013蓝桥杯C语言B 带分数(16`)
- Java数组初始化与内存控制
- C++实现最小堆及插入,调整顺序,删除堆顶元素的操作
- 库克是出色的苹果CEO 这六点可以证明
- scanf()函数用法
- MYSQL计算时间差函数
- 迅雷2016研发工程师笔试题
- Swift中的模式匹配
- python -【mongo】 处理ObjectID
- oracle复杂查询21道题精析