Java基础(数组-内存空间的划分)
2015-01-01 22:43
274 查看
寄存器是cpu的,我们不用管
本地方法区:这个跟所有系统相关的,java虚拟机,分版本,调用不同系统的内容
栈内存。
存储的都是局部变量。是不是放在函数里面的啊
而且变量所属的作用域一旦结束,该变量就自动释放。
5,堆内存。
存储是数组和对象(其实数组就是对象) 凡是new建立在堆中。
特点:
1,每一个实体都有首地址值。(方法要进栈,那是因为局部变量都在方法里面,方法不进栈,局部变量能进栈不,所以选是主函数进栈)
2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或者0.0f,boolean falsechar '\u0000',这个是堆内存的特点,而栈则不同,不会进行默认初始化
这里面的null只是这个y不再指向这个地址,而x还是指向的,这里面再打印x[0]这个还是有值的,只不过y[0]这个没有值了,这一点一定要特记
3,垃圾回收机制。堆里面的数据都是通过垃圾回收机制进行处理的
放在堆里面的数据会对堆里面的数据进行默认初始化,不同类型初始化不一样
重要知识点:
int[] arr = new int[3];
System.out.println(arr);// [I@c17164
[I@c17164解释:这个@用来分隔左边与右边的内容,左边的[这个表示是一个数组,I表示是int类型,这是一个hash算法,右边表示一个是window下的hash算法,其实是
用一个二进制来表示的,但是也通过了hash算法进行封装,其实吧这就是一个在内存中的一个地址
相关文章推荐
- 黑马程序员_JavaSE基础04 之 循环嵌套 函数重载 数组 内存空间划分
- Java学习之旅基础知识篇:数组及引用类型内存分配
- 黑马程序员——java基础(面向对象)进制转换、数组、内存分析
- Java基础-数组的内存分配
- 黑马程序员——2.2.基础语法(函数、重载、数组、内存划分,进制转换)
- 数组内存图分析--Java基础028
- Java基础复习笔记 数组,内存形式,父子,内存控制01
- Java内存空间划分初识(适合初学者)
- Java基础学习9(一维数组及在内存中的分配)
- java 基础概念 -- 数组与内存控制
- Java内存空间划分初识(适合初学者)
- [java学习笔记]java语言基础概述之内存的划分&堆和栈
- 【JAVA基础教程】-浅谈数组及其内存控制
- Java语言基础-数组的静态初始化和内存分析
- 堆与栈的解析-以数组为例,解析数组在内存中的分布(JAVA基础-课堂笔记)
- Java基础1--Java里的数组,内存与引用
- java基础-第四节 数组和内存结构
- java 基础概念 -- 数组与内存控制
- Java 基础【04】数组内存分配
- 堆与栈的解析-以数组为例,解析数组在内存中的分布(JAVA基础-课堂笔记)