一,数组与内存控制

一,数组的初始化html

        1,数组初始化以后,长度不变,且数组初始化后才可使用,所谓得初始化,就是为数组对象得元素分配内存空间,而且指定初始值。java

        2,初始化的两种方式:静态初始化,初始化时显式指定每一个数组元素的初始值,由系统决定数组长度。数组

                                            动态初始化,初始化时,只是指定数组长度,有系统为数组元素分配初始值。spa

        3,java数组变量时引用类型变量,不是数组自己,它时只想堆内存中的数组对象。指针

例如:htm

        int arr[]对象

        arr=new int[]{1,2,3}blog

        执行int arr[]以后,这是在main()方法栈中定义了一个arr数组变量,是一个引用类型变量,可是并无指向实际的数内存

        组对象,因此此时尚未使用该数组对象。get

        当执行第二句之后,系统会根据咱们制定的元素决定数组的长度,切长度不可变,在堆内存中建立内容。

        全部局部变量都保存在栈内存中,无论是基本类型的变量仍是引用类型的变量,都是存储在各自的方法栈中,可是引用类型的变量所引用的对象(包括数组,普通的java对象)则老是储存在堆内存中。

        堆内存中的对象一般不允许直接访问,为了访问堆内存中的对象,一般只能经过引用变量。引用变量其实是一个指针,只要不访问变量的属性,或者调用引用变量来调用方法。使用该对象也是不会出现问题的。

http://www.cnblogs.com/hmiinyu/archive/2012/10/22/2732781.html(数组以及引用类型内存分配)

相关文章
相关标签/搜索