zoukankan      html  css  js  c++  java
  • 四、内存中的数组


    数组是一种引用的数据类型,数组引用变量其实就是一个引用,数组元素和引用在内存中时分开存放

    数组引用变量可以指向任何有效的内存空间,只有当该引用指向有效的空间之后,才可以通过这个引用操作数组中的元素,当引用赋值为null,表示该引用指向了一个无效的空间

    数组的引用变量存储于栈空间中,被new出来的实际的数组存储于堆空间中


    int a=10;
    int b=a;
    b=20;
    a=? 10

    int[] x = {22,33};
    int[] y = x;
    x[0] = 18;
    x[0] = ? 18
    总结:对于引用数据类型,当两个引用变量指向同一块内存空间时,当修改一个变量的值时,另外一个也跟着变化

    扩展:内存的分类
    a.寄存器,最快的一块存储区,由编译器根据需求进行分配,我们在程序中无法控制
    b.栈:存放基本数据类型的变量以及引用数据类型的引用
    特点:先进后出,后进先出,被执行完成之后,该函数或者语句中的变量将被销毁,所占用的空间将会被释放
    c.堆:存放所有使用new关键字创建出来的实体
    特点:执行完之后不会立即被释放,当你使用完成之后会被标山垃圾的标记,等待系统的垃圾回收机制回收它
    d.方法区:
    静态域:存放静态变量【static】
    常量池:存放字符串常量和基本数据类型的常量

  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/lsp-lsp/p/7341844.html
Copyright © 2011-2022 走看看