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