• 基础语法-数组的内存分配


              基础语法-数组的内存分配

                               作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

     

     

     

    一.JAVA的内存结构

      Java程序在运行时,需要在内存中分配空间。为了提高运算效率,有对空间进行了不同区域的花费,因为每一片区域都有特定数据处理方式和内存管理方式。

      栈内存:
        用于存储局部变量,当数据使用完,所占空间会自动释放。

      堆内存:
        存储数组和对象,凡是通过new建立的实例都存放在堆内存中;
        每一个实例都有内存地址值。实例中的变量都有默认初始化值;
        实例不再被使用时,会在不确定的时间内被垃圾回收器回收。

      方法区:

      本地方法区:

      寄存器:

    二.编写案例代码并查看运行结果

    /**
     *     数组定义
     * 
     *     @author 尹正杰
     *
     */
    public class ArrayDemo2 {
        public static void main(String[] args) {
            //创建数组
            int[] arr  = new int[3];
            //将arr2保存的是arr对应的引用地址
            int[] arr2 = arr;
            //给数组中的0索引存储数据
            arr[1] = 100;
            //查询数据中指定编号中存储的数据
            for (int index = 0; index < arr.length; index++) {
                System.out.println("arr的索引" + index + "对应的值为" + arr[index]);
            }
            //arr变量存储的是数组在堆内存中的引用地址
            System.out.println(arr);
            //将变量的引用地址指向为null
            arr = null;
            System.out.println(arr);
            
            System.out.println("=====我是分割线======");
            
            for (int index = 0; index < arr2.length; index++) {
                System.out.println("arr2的索引" + index + "对应的值为" + arr2[index]);
            }
            System.out.println(arr2);
        }
    }

    三.分析第二步中数组的内存分配

  • 相关阅读:
    Spring创建对象的原理
    java.io.WriteAbortedException异常
    在servlet中返回json数据
    Java中导入导出Excel -- POI技术
    Java文件下载
    MySql 分页关键字(limit)
    从dao层查出的数据到页面时数值都是零的异常
    注解
    事务的四大特性
    Java-事务管理
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12219338.html
Copyright © 2020-2023  润新知