4 数组的创建
数组空间的申请分为显式申请与隐式申请两种。显式申请是指在程序中直接给出数组的类型与长度,例如:
... ...
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);
... ...
由于数组对象长度较长,占用了较大的内存空间,因此我们对obj采用了软引用的处理方式达到合理使用系统内存的目的。
分享到:
相关推荐
### 动力节点老杜Java基础入门学习教程分享——数组 #### 数组概要 数组是一种重要的数据结构,被广泛应用于各种编程语言中,包括Java。数组是一种引用数据类型,用于存储固定数量的同类型元素。在内存中,数组是...
数组的声明和创建是使用Java编程时的常见操作。声明数组变量的语法有两种形式,例如: ```java dataType[] arrayRefVar; // 第一种方式 dataType arrayRefVar[]; // 第二种方式,效果相同,但不推荐作为首选 ``` ...
在Java中,数组是一种对象,它们具有固定的大小,并且一旦创建,就不能更改其长度。数组提供了通过索引来访问其元素的能力,这些索引从0开始。了解Java数组的关键知识点包括: 1. **声明数组**:在Java中,我们首先...
在本项目中,"学习JAVA编程,完成作业——编一个控制台梭哈游戏.zip",开发者采用Java语言实现了一个基于控制台的梭哈(Poker)游戏。这是一门编程课程的作业,目的是让学生掌握Java的基本语法、面向对象编程概念...
在这个“jni例子——使用int数组”的示例中,我们将深入探讨如何在Java和C/C++之间传递和操作int数组。 1. **JNI基础知识**: - JNI接口提供了Java与本地代码(如C/C++)通信的桥梁,使得开发者可以在Java应用中...
在Java编程中,控制执行是程序流程的基础,主要包括条件语句和循环语句。本讲主要探讨了如何使用这些结构来实现程序的逻辑控制。 首先,条件语句以`if`关键字开始,它允许我们根据特定条件执行代码块。在Java中,`...
在这个"Java基础练习之数组的应用——ATM Demo"项目中,我们将会深入探讨如何利用数组和方法来实现一个简单的自动取款机(ATM)模拟程序。这个练习旨在帮助初学者巩固Java基础知识,特别是对数组的操作和方法的使用...
通过`new`关键字分配内存空间,如`nums = new int[10]`,创建一个包含10个整数的数组。数组长度不可在声明时指定。 10.2.3 访问数组元素 数组元素通过索引访问,如`nums[0]`、`nums[1]`等,索引范围是0到数组长度减...
在Java编程环境中,尽管程序员通常不需要直接处理内存地址,但在进行系统级编程或者理解底层工作原理时,了解内存地址转换是必要的。本项目以Java实现,通过图形界面展示了三种内存地址转换的方法,这对于我们深入...
本文将深入探讨Java中的基础数据结构——数组,以及与之相关的算法。数组是所有编程语言中最基本的数据结构之一,它允许我们存储一组相同类型的数据,并通过索引来访问它们。 在Java中,数组是一种特殊的对象,它...
内容概要:本文档详细介绍了Java编程中数组的概念,数组的声明、创建、初始化,以及各种常用的数组操作技巧。首先讲解了数组的基本特征——长度固定、同类型存储及在堆中的分配;接着深入探讨了不同维度的数组声明、...
4. 操作系统的内存管理:操作系统使用 LRU 算法等算法来管理内存页面,提高系统的性能和效率。 5. Java 语言编程:使用 Java 语言实现 LRU 算法,熟悉 Java 语言的编程技巧和方法。 LRU 算法是一种重要的页面置换...
JAVA 编程题全集知识点总结 本资源提供了一个完整的 JAVA 编程题全集,涵盖了大量的题目和经典的解法,非常适合刷学完基础、刷题前的知识总结与开拓。以下是从资源中提取的重要知识点: 1. JAVA 基础知识:资源中...
**数组**是编程中最基本的数据结构之一,它在内存中连续存储相同类型的数据元素。在Java中,数组的声明和初始化通常如下所示: ```java int[] array = new int[5]; // 声明并创建一个包含5个整数元素的数组 ``` ...
在本资源"JAVA开发实战经典_课后习题讲解-第4章:数组习题讲解.rar"中,我们聚焦于Java编程语言中的一个重要基础概念——数组。数组是Java中存储固定大小同类型数据集合的数据结构,它在程序设计中扮演着不可或缺的...
管理系统——通讯录是一种用于存储和管理个人信息的工具,尤其在IT行业中,通讯录通常被设计成数据结构的形式,便于高效地进行查找、删除和排序等操作。在这个案例中,使用了链表作为基础数据结构来实现这个功能。...
在Java编程语言中,程序控制和数组是两个关键概念,对于任何Java开发者来说,理解和熟练掌握它们至关重要。本文将深入探讨这两个主题,并通过一个具体的实例——"java程序控制与数组 详解 java实例20"来进一步阐述。...
### Java自学之路——超详细含练习项目及源码 #### Java知识体系最强总结 本篇文章旨在根据提供的文件信息,深入解读Java自学之路的关键知识点,并针对其中提到的学习资源进行详细的解析,帮助初学者更好地掌握...
本文将深入探讨三种基本的数据结构——数组、向量和字符串,它们在Java开发中占据着核心地位。 #### 一、数组 数组是Java中最基础的数据结构之一,用于存储固定大小的同类型元素集合。数组可以在一维或多维中定义...