• 浅谈java 数组内存原理


    1.内存概述

      内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程 序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。 Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。

    2 Java虚拟机的内存划分

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

      

     数组在内存中的存储

    public static void main(String[] args) {
      int[] arr = new int[3];
      System.out.println(arr);//[I@5f150435
    }

      以上方法执行,输出的结果是[I@5f150435,这个是什么呢?是数组在内存中的地址。new出来的内容,都是在堆 内存中存储的,而方法中的变量arr保存的是数组的地址。

    输出arr[0],就会输出arr保存的内存地址中数组中0索引上的元素

    两个变量指向一个数组

    public static void main(String[] args) {
      // 定义数组,存储3个元素
      int[] arr = new int[3];
      //数组索引进行赋值
      arr[0] = 5;
      arr[1] = 6;
      arr[2] = 7;
      //输出3个索引上的元素值
      System.out.println(arr[0]);
      System.out.println(arr[1]);
      System.out.println(arr[2]);
      //定义数组变量arr2,将arr的地址赋值给arr2
      int[] arr2 = arr;
      arr2[1] = 9;
      System.out.println(arr[1]);
    }

      

  • 相关阅读:
    Pascal's Triangle II
    Pascal's Triangle
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Populating Next Right Pointers in Each Node
    path sum II
    Path Sum
    [转载]小波时频图
    [转载]小波时频图
    [转载]Hilbert变换及谱分析
  • 原文地址:https://www.cnblogs.com/Dobin/p/11920772.html
Copyright © 2020-2023  润新知