1、栈与堆都是Java用来在RAM中存放数据的地方。
2、堆是一个运行时数据区,类的对象从中动态分配内存空间。这些对象通过new等指令建立,由垃圾回收器来负责回收。
3、栈的优势是:存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是:存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(int, short, long, byte, float, double, boolean, char)和对象句柄(即对象引用,想象成用遥控板(句柄)操纵电视机(对象))。
4、比较:String str = new String("abc"); //只有通过new()方法才能保证每次都创建一个新的对象。
String str = "abc";
System.out.println(str1.equals(str2));//true
System.out.println(str1==str2);//false
比较类里面的数值是否相等时,用equals()方法;当测试两个类的引用是否指向同一个对象时,用==