Java基本資料類型在常量池中的展現
老帥
基本資料類型的使用量是很大的,java常量池,在節省記憶體方面是一個很好的機制,相同的資料,在常量池中隻要保留一份即可。
Java的8種基本類型(Byte, Short, Integer, Long, Character, Boolean, Float, Double), 除Float和Double以外, 其它六種都實作了常量池, 但是它們隻在大于等于-128并且小于等于127時才使用常量池。
由如下例子可以看出:

結果如下:
等于127:
true
*****************
等于128:
false
等于-128:
等于-129:
測試Boolean
當我們給Integer指派時,實際上調用了Integer.valueOf(int)方法,檢視源碼,其實作如下:
而IntegerCache實作如下:
注意cache數組是靜态的。