数组和Java内存的划分

Posted zhaogot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组和Java内存的划分相关的知识,希望对你有一定的参考价值。

array:数组

  1.概念:一种可以保存多个数据值的容器。

  2.特点:1.数组是引用数据类型

     2.数组当中的多个数据类型必须统一

     3.数组的长度在程序运行期间不可改变。

     3.数组的初始化:在内存中创建一个数组,并赋予一些默认值。

          1.动态初始化(指定长度):

                        格式:数据类型【】数组名称 = new 数据类型【数组长度】

                        解析:左侧的数据类型:数组里保存的数据的统一数据类型

                           左侧的中括号:表示一个数组

                           右侧的new:表示创建一个数组

                           右侧的数据类型要与左侧保持一致

                           右侧的中括号里必须写数组的长度。

          2.静态初始化(指定内容):

                        格式:数据类型【】数组名称 = {具体的元素,具体的元素}

                           数据类型【】数组名称 = new 数据类型【】{具体的元素,具体的元素 }

          使用建议:如果不确定数组内容就用动态,确定就用静态。

  4.访问数组的元素并获取:

              直接打印数组的名称得到的是数组对应 内存地址哈希值

             访问呢数组的元素的格式:数组名称【索引值】

                          索引值:一个int值,代表数组当中的每个元素的编号

                            注意:索引值从0 开始一直到数组的长度-1为止。

  5.Java的内存划分:Java的内存划分为5个部分

            1.栈(stack)内存:存放的都是方法中的局部变量

                      局部变量:方法的参数或者方法{}里的 变量

                      作用域:一旦超出作用域,则立即从栈内存中移除

            2.堆(heap)内存:凡是new出来的东西都在堆内存

                     堆内存中的东西都有一个地址:16进制

                     堆内存中的数据都有默认值,规则:

                                      引用类型:null。

            3.方法区:存储.class的相关信息,包含方法的信息。方法的运行一定要在栈当中

            4.本地方法栈:与操作系统相关

            5.寄存器:与CPU相关

 

    

                        

以上是关于数组和Java内存的划分的主要内容,如果未能解决你的问题,请参考以下文章

java_内存的划分

数组原理内存图

数组原理内存图

数组原理内存图

数组原理内存图

java中内存的划分,数组使用