zoukankan      html  css  js  c++  java
  • Java数组分配内存空间

    分配内存空间

    数组名=new 数据类型[数组长度];

    new关键字用来实现为数组或对象分配内存

    数组具有固定的长度。获取数组的长度: 数组名.length

     

    定义数组+分配内存空间

    数据类型[]数组名=new 数据类型[数组长度];

    定义数组时不指定长度,分配空间时指定数组长度;如:String cities[] = new String[6];

     

    数组元素:

    数组名[下标值];

    数组下标从0开始  scores[0]=75;

     

    数组的内存分配  栈内存和堆内存

    如定义一个数组 int[]scores将在栈内存中为scores 分配内存空间,其值是一个不确定的值。

    当执行语句scores=new int[5]时,将在堆内存分配连续5个空间,每个空间4个字节,用于存放整型数据,其初始值为0,然后将该段空间首地址,也就是第一个元素的地址,比如0*3000,赋给scores变量。该地址相当于一个指针,指向堆内存中分配的空间。此时堆内存中分配的5个空间可以分别使用scores[0],一直到scores[4]来表示。当执行四个赋值语句时,分别用指定值填充到对应元素位置。如果此时将null值赋给scores时,scores变量将不再指向任何位置,此时堆内存中分配的空间就变成了垃圾,由垃圾回收器在某一时间进行回收。

     

    在方法中定义的变量,包括基本数据类型变量和引用数据类型变量,都将在栈内存中分配空间,当超过变量作用范围后,自动回收

    总结:初始化=定义数组+分配空间+赋值

  • 相关阅读:
    Python基础之流程控制
    Python基础之深拷贝与浅拷贝
    常见开源告警系统对比分析(prometheus、open-falcon、zabbix)
    prometheus简介
    谈谈业务系统的监控报警
    UML类图与类的关系
    IntelliJ IDEA反向生成UML类图
    UML类图几种关系的总结
    UML类图详解和示例
    leetcode-----43. 字符串相乘
  • 原文地址:https://www.cnblogs.com/whu-2017/p/9224680.html
Copyright © 2011-2022 走看看