龙空技术网

JAVA中的数组和内存

热忱先生 218

前言:

此刻大家对“数组在java中储存在堆中”可能比较关注,姐妹们都想要了解一些“数组在java中储存在堆中”的相关知识。那么小编同时在网络上收集了一些关于“数组在java中储存在堆中””的相关文章,希望同学们能喜欢,你们一起来了解一下吧!

1、windows中的"\t"是一个转义字符,也就是制表符。还有其他的一些转义字符:\n:回车,\b:退格,\r:回车符。

2、windows系统中回车符其实是由两个转义字符组成的:\r\n,linux中回车符是\n。

1、重载与返回值类型无关,只看参数列表。

2、java是严谨性语言,如果函数调用出现不确定性,会编译失败。

数组的定义

概念:

同一种类型数据的集合。其实,数组就是一个容器。

需要一个容器,但是不明确容器的具体数据。

int[] arr = new int[5];

需要一个容器,存储已知的具体数据。

int[] arr = new int[]{3,5,1,7};

数组的内存分配及特点

int[] arr = new int[4];

内存分配图:

Java程序在运行时,需要在内存中分配空间。

为了提高运算效率,又对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

内存的划分:

1. 寄存器。

2. 本地方法区。

3. 方法区。

4. 栈内存。

5. 堆内存。

栈内存:

用于存储局部变量,当变量所属的作用域一旦结束,所占空间会自动释放。

堆内存:

数组和对象,通过new建立的实例都存放在堆内存中。

每一个实体都有内存地址值。

实体中的变量都有默认初始化值,根据类型的不同而不同。整数类型是0,小数类型是0.0或0.0f,boolean类型是false,char类型是'\u0000'。

如果将数组的引用实体设置为null,也就是实体不再被使用,那么会在不确定的时间内被垃圾回收器回收。

直接打印数组的引用变量,打印出来的结果是数组初始地址的哈希值。

标签: #数组在java中储存在堆中