首页 > 代码库 > 享元(flyweight)设计模式

享元(flyweight)设计模式

11_黑马程序员_张孝祥_Java基础加强_基本数据的自动拆装箱及享元设计模式

 

 

 

public static void main(String args[]) {

 

Integer i11 = 1;

System.out.println(i11 + 2);

 

Integer i12 = 1;

 

System.out.println(i11 == i12);

 

Integer i21 = 128;

 

Integer i22 = 128;

 

System.out.println(i21 == i22);

 

}

 

 

i11的创建使用了装箱(从基本数据类型int到Integer),第一个输出使用了自动拆箱(从Integer到int,再进行加法);

第二个输出为true,第三个输出为false。由于Integer当只有一个字节时采用享元设计模式,i11和i12为同一内存对象(怎么表达?),i11创建对象后,当i12创建之前发现已有相同的对象就直接使用i11对象。

享元(flyweight)设计模式