天天看點

Java基本資料類型在常量池中的展現

Java基本資料類型在常量池中的展現

                                         老帥

        基本資料類型的使用量是很大的,java常量池,在節省記憶體方面是一個很好的機制,相同的資料,在常量池中隻要保留一份即可。

        Java的8種基本類型(Byte, Short, Integer, Long, Character, Boolean, Float, Double), 除Float和Double以外, 其它六種都實作了常量池, 但是它們隻在大于等于-128并且小于等于127時才使用常量池。

由如下例子可以看出:

Java基本資料類型在常量池中的展現

結果如下:

等于127:

true

*****************

等于128:

false

等于-128:

等于-129:

測試Boolean

當我們給Integer指派時,實際上調用了Integer.valueOf(int)方法,檢視源碼,其實作如下:

Java基本資料類型在常量池中的展現

而IntegerCache實作如下:

Java基本資料類型在常量池中的展現

注意cache數組是靜态的。