数组和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内存的划分的主要内容,如果未能解决你的问题,请参考以下文章