Day05_SHJavaTraing_4-8-2017
一.JVM对自己的内存划分为5个区域
1.方法栈:所有的方法运行的时候进入内存
2.堆:存储的是容器和对象
3.方法和数据共享: 运行时期class文件进入的地方
4.本地方法栈: JVM调用了系统中的功能
5.寄存器:内存和CUP之间
二.值传递和引用传递的区别(易错内容)
1.方法参数是基本数据类型
方法参数是基本数据类型时,传递的是值。
//演示方法参数是基本数据类型的传递
class Demo{
public static void main(String[] args){
int a = 3 ;
int b = 5;
demo( a , b );
System.out.println("a="+a);//a = 3
System.out.println("b="+b);//b = 5
}
public static void demo( int a , int b ){
a = a + a;
b = b + b;
}
}
打印结果:a = 3 , b = 5
2.方法参数是引用数据类型
方法参数是引用数据类型时,传递的是内存地址值。
//演示方法参数是引用数据类型的传递
class Demo1{
public static void main(String[] args){
int[] arr = {3,6};
demo( arr );
System.out.println("arr[0]="+arr[0]);//arr[0] = 6
System.out.println("arr[1]="+arr[1]);//arr[1] = 12
} public static void demo( int[] arr ){
arr[0] = arr[0] + arr[0];
arr[1] = arr[1] + arr[1];
}
}
打印结果:arr[0] = 6 , arr[1] = 12