//享元模式
/**
* 當基本正數數據類型在裝箱為Integer類型時,0~127之間的數字裝箱後會被緩存起來,當下次對同樣的數字裝箱時
* 兩個Integer對象是相等的,即指向同一塊內存,而當數字超過127後,自動裝箱後不會被緩存,再次裝箱同樣大於127的數字時
* 兩個Integer對象是不相等的。
*
* 以上事例就是通常所說的享元設計模式,對於那些非常小但是又需要在系統的很多地方都需要用到它的時候,我們需要把它
* 緩存起來,以便下次再次使用,減少了創建對象的開銷。
*
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer a1 = new Integer(4);
Integer a2 = new Integer(4);
System.out.println(a1 == a2); //false
Integer i1 = 13;
Integer i2 = 13;
System.out.println(i1 == i2); //true
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4); //false
Integer i5 = Integer.valueOf(3);
Integer i6 = Integer.valueOf(3);
System.out.println(i5 == i6); //true
Integer i7 = Integer.valueOf(127);
Integer i8 = Integer.valueOf(127);
System.out.println(i7 == i8); //true
}
}