zoukankan      html  css  js  c++  java
  • 基础语法-数组的内存分配

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

                               作者:尹正杰

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

     

     

     

    一.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);
        }
    }

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

  • 相关阅读:
    5 -- Hibernate的基本用法 --5 1 持久化类的要求
    5 -- Hibernate的基本用法 --5 深入理解持久化对象
    Java -- POI -- 随笔汇总
    jdk 自带的数据库Derby使用
    SpringMVC中 -- @RequestMapping的作用及用法
    Hibernate -- Dao层 -- CURD -- 随记
    JAVA WEB -- request
    SpringMVC -- @RequestMapping -- 随记
    Navicat -- Oracle -- 错误锦集
    Tomcat -- 启动错误 -- 解决锦集
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12219338.html
Copyright © 2011-2022 走看看