小狮子Java内存学习
java的内存需要划分成为5个部分:
- 栈:存放的都是方法中的局部变量。—方法的运行一定要在栈当中运行。
- 堆:凡是new出来的东西都在堆内存。
- 方法区:存放class相关信息,包含方法的信息。
- 本地方法栈:与操作系统相关。
- 寄存器:与CPU相关。
单个数组内存占用
两个数组内存占用
两个引用指向同一个数组
数组索引越界:原因索引编号错误。
空指针异常
获取数组长度:数组名称。Length
int len = arrayA.length;
数组一旦创建,程序运行期间,长度不可改变。
遍历数组
for(int i=0; i<array.length;i++){
System.out.println(array[i]);
}
求数组最大值:
public class Demo1Array {
public static void main (String[] args){
int[]array ={3 ,4, 5 ,2, 1}
int min=array[0];
for(int i=1;i<array.length;i++){
//如果当前元素,比min更小交换。
if (array[i]<min){
min=array[i];
}
}
System.out.println("最小值:"+min);
}
}
数组元素反转:对称位置的元素交换。
数组作为方法返回值:
-
数组作为方法的参数,传递进去的是数组地址值。
-
数组作为方法的返回值,返回的其实也是数组的地址值。
-
数组作为方法的返回值,返回的其实也是数组的地址值。
”本文的图片来自黑马教程的截图“