总结了一下张老师讲的享元模式:(flyweight) 有很多个小的对象,它们有很多属性相同,把它们变成一个对象,不同的属性变成方法的参数,称之为外部状态,相同的属性称之为内部状态。
享元模式的使用前提:
1,当我们发现某个类型的对象有大量的实例时,我们是否可以对这些实例进行分类,经过分类后,我们发现只有很少的类别的情况下。
2,我们发现通过使用享元模式后能够提高系统的性能和不会带来更多的复杂度时。
享元模式一般是给出本地内存资源节省的一个方案,并不适合互联网上的分布式应用的情况,不过享元模式对于排他性的要求资源的控制,是个不错的选择的。
举例:
public static void main(String[] args) {
Integer iObj = 3;
System.out.println(iObj + 12);
String s1 = new String("abc");
String s2 = new String("abc");
Integer i1 = 137;
Integer i2 = 137;
System.out.println(i1 == i2);
Integer i3 = Integer.valueOf(213);
Integer i4 = Integer.valueOf(213);
System.out.println(i3==i4);
}
|