值类型,引用类型

值类型 (value type)

  一种由类型的实际值表示的数据类型。如果向一个变量分配值类型,则该变量将被赋以全新的值副本。(这与引用类型不同,在引用类型中,赋值时不创建副本。)值类型通常创建在方法的栈帧上,而不是在垃圾回收堆中。可以对值类型进行装箱,这是一个创建相应引用类型的过程。

引用类型 (reference type) 
  由类型的实际值引用(类似于指针)表示的数据类型。如果为某个变量分配一个引用类型,则该变量将引用(或“指向”)原始值。不创建任何副本。引用类型包括类、接口、委托和装箱值类型

 1 public class Text {
 2     public static void main(String[] args) {
 3         //内存划分为“栈”和“堆”
 4         
 5         //值类型:基本数据类型
 6         int i=10;//保存在栈内存
 7         int m=i; //把值复制给m
 8         i=11;
 9         System.out.println("m="+m+",i="+i);
10         
11         //引用类型:除了基本数据类型之外的(数组,String,类)
12         //实际内容存在堆里,栈里只存对应到堆的地址
13         int[]a=new int[]{1,2,3,4};
14         int[]b=a;//把对应到堆的地址给b
15         a[2]=100;
16         System.out.println("b[2]="+b[2]);
17         
18     }
19 
20 }

原文地址:https://www.cnblogs.com/xiao55/p/5232685.html