享元模式:重复利用对象,使用地方:字处理软件。
总结就是共享元对象。
String类就是享元模式。
例如:
String s1=“a”;
String s2=“a”;
String s3=new String(“a”);
String s4=new String(“a”);
s1s2 true 在常量池中
s1s3 false 内存地址不一样 s3的地址跟常量池是不一样的。虽然s3也是使用常量池的地址。但是多了一层,所以不一样
s3 == s4 false 内存地址不一样
s3.intern() == s1 true s3.intern()常量池的地址 所以相等。
s3.intern() == s4.intern() true