栈 栈存放的是基本数据类型 + 引用变量名 int a = 1; 这里的a和1都存放在栈中 String b = “abc”; 这里只有b存放在栈中,而"abc"则存放在堆中 堆 堆存放的是new出来的对象 上述的String b = "abc"中,其实b是引用类型,指向"abc"这个字符串对象,b存放在栈中,而"abc"这个字符串对象是存储在堆中的。 int c = new int[3]; 这里同理,c作为引用类型的变量存放在栈中,而长度为3这个数组则存放在堆中,他们之间通过地址联系,c其实存储的是这个长的为3的数组的地址。