重载(overload)+数组 内存的划分

来源:互联网 发布:淘宝店铺升天猫费用 编辑:程序博客网 时间:2024/05/22 17:13

函数的重载:

1,同一个类。

2,同名

3,参数个数不同,or参数类型不同。

4,函数重载和返回值类型无关。

5,java是严谨性语言,如果函数出现的调用的不确定性,会编译失败。

 注意:函数中静态方法中不能直接调用非静态的方法。


数组

概念:同一种类型数据的集合,其实数组就是一个容器。

好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

数组定义的格式:



内存的划分:

1,寄存器。

2,本地方法区

3,方法区。

4,栈内存。

存储的都是局部变量。

而且变量所属的作用域一旦结束,该变量就自动释放。

局部代码块:限定局部变量的生命周期(代码块结束后,就自动释放其中的变量了)

{

int x = 3;

System.out.print(x);

}


堆内存:

存储是数组和对象(其实数组就是对象)凡是new建立在堆中。

特点:

1,每一个实体都有首地址值。

2,堆内存中的每一个变量都有默认初始值,根据类型的不同而不同,整数是0,小数0.0或0.0f,boolean是false ,char ‘\0000’(unicode码表00一个字节,00一个字节,两个字节,字母那个对应的码表是 arc码表)

3,垃圾回收机制。


堆内存的变量都会默认初始化值。

引用数据类型(指向数据类型)

0x0045是地址存储在栈内存中,原来x=5是直接存在栈内存中:


地址赋值成 null,地址不指向了,堆中的数组没有任何用了,但是不是自动释放到内存,java机制视它为垃圾,有自动回收垃圾机制回收掉它:如图


多个引用变量是可以同时指向一个实体的。


数组中一些常见的问题:


[是实体,I是类型,后面是哈希值,算法:开辟空间的地址。

两种格式的特点:


以后遇到哪种语言 凡是碰见容器 必须好好学。


原创粉丝点击