JVM 内存模型概述
Java中的jvm分为:堆、栈、本地方法栈、方法区和程序计数器。
堆:存储的全部是new出来的对象。
栈:存储基本类型的变量数据和对象的引用。
方法区:又称静态区,包含所有的class和static变量。
常量池:存储编译时已经确定的值。(在堆里面)
String 类型
String str1 = "Tulun";
String str2 = "Tulun";
System.out.println(str1 == str2);//true
String str3 = new String("Tulun");
String str4 = new String("Tulun");
System.out.println(str3 == str4);//false
String str5 = new String("Tulun");
String str6 = "Tulun";
System.out.println(str5 == str6);//false
char[] array = {'t','u','l','u','n'};
String str11 = "tulun";
String str12 = new String(array);
System.out.println(str11 == str12);//false
String的equal()方法
1.先比较引用的地址是否一样,若相等则直接返回true.
2.再比较类型是否一样 。
a.比较长度。
1).依次比较数值是否相等,依次比较每一个字符,全部相等则为true,否则为false。