Java内存分析/数组

本文详细介绍了Java内存的堆、栈和方法区,强调了它们的作用和共享特性。堆用于存储new的对象和数组,栈存放基本变量和对象引用,方法区包含所有class和static变量。此外,还讨论了数组的初始化、特点、循环操作以及多维数组和稀疏数组的概念。对于数组,强调了其长度固定、元素类型一致以及数组变量作为引用类型存储于堆中的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java内存分析

  • 存放new 的对象和数组

  • 可以被所有的线程共享,不会存放别的对象引用

  • 存放基本变量类型(会包含这个基本类型的具体数值)

  • 引用对象的变量(会存放这个引用在堆里面的具体地址)

方法区

  • 可以被所有的线程共享

  • 包含了所有的class和static变量

数组

初始化

  • 静态初始化

int []a={1,2,3,4,5,6};

  • 动态初始化

int []b=new int [5];

数组四个基本特点

  • 长度确定,数组一旦被创建它的大小就是不可改变的

  • 元素必须是相同类型的

  • 数组中的元素可以是任意类型,包括基本类型和引用类型

  • 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量,数组本身就是对象,Java中对象是在堆中,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的

循环

  • for循环

    for(int i=oi<a.length;i++)

  • foreach循环

    for(结果类型 结果名称 循环体)

多维数组

  • 多维数组可以看成是数组的数组,比如一个二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组

  • 二维数组

    int a[][]=new int[2][5];

稀疏数组

  • 当一个数组中的大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组

  • 稀疏数组处理方式:

    1. 记录数组一共有几行几列,有多少个不同值。

    2. 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值