数组的创建
数组空间的申请分为显式申请与隐式申请两种。显式申请是指在程序中直接给出数组的类型与长度,例如:
... ...
int [] intArray = new int[1024];
... ...
面的这行代码就是显式地向系统一次性申请了大小为1KB的整数类型的内存空间,这样的声明方式一般出现在对文件或网络的资源读取的处理代码中,往往用来作为数据读取的缓冲区,以提高读取效率。由于我们不知道具体读取的内容的长度,因此,我们只能通过这种方式来读取相关资源,这样做显然有些弊端,例如,文件或网络资源的长度不可能是你所给定的数组长度的整数倍,或者文件、网络资源的长度小于你所申请的数组的长度,这就造成了系统内存资源浪费。隐式申请是在声明数组对象时不知道将要得到的数组的具体长度,例如:
... ...
int [] intArray = obj.getIntArray();
System.out.println("整型数组长度:" + intArray.length());
... ...
在这行代码中我们事先并不知道obj.getIntArray()到底返回的数组长度是多少,这是在程序运行时确定的,因此这里不存在上面的显式申请数组浪费内存的问题,因为数组的长度是由系统决定的,因此这种方法是提倡使用的。
如果遇到数组中所保存的元素占用内存空间较大或数组本身长度较大的情况,我们可以采用之前所讲到的软引用的技术来引用数组以“提醒”JVM及时回收垃圾内存,维护系统的稳定性。例如:
... ...
Object obj = new char[1000000];
SoftReference ref = new SoftReference(obj);
... ...
分享到:
相关推荐
Java数组阶段的选择题、填空题、编程题、判断题都有,适合想自己测试下的学生以及准备出题的老师
Java数组在内存分配方面的知识;Java数组的静态特征;对于数组变量而言,一定要区分它何时是数组变量,何时代表数组对象本身。
java 数组初始化 详解 doc
java 数组求和计算 java 数组求和计算 java 数组求和计算
第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt第03讲 JAVA数组.ppt
Java数组的详细资料纤细介绍了Java数组的使用从零开始学习Java数组解决你学习过程中遇到的问题........
java 数组下标越界异常(ArrayIndexOutOfBoundsException) java 数组下标越界异常(ArrayIndexOutOfBoundsException)
java数组排序的思想,过程和代码实现。多种数组排序的方法,主要有冒泡排序,堆排序,插入排序, 归并操作(merge), 归并操作(merge),选择排序,希尔排序。
主要介绍了Java数组越界问题实例解析,具有一定参考价值,需要的朋友可以了解下。
Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。 2)利用数组复制方法可以变通的实现数组扩容。 3)System.arraycopy()可以复制数组。 4)Arrays.copyOf()可以简便的...
java 数组和字符串
46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip...
43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip...
22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组...
20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间...
45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...
44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...
对数组的总结和分析,通过这个结构记住它,在开发的过程中使用
Java数组工具类
有关JAVA数组中方法的讲解,此教程为文档教程,此文档为JAVA中数组的上半部分。