java Integer快取機制

2021-09-12 01:18:08 字數 436 閱讀 9143

示例 :

public static void main(string args) 

輸出:a == b:true

c == d:true

e == f:false

u == i:false

j == k:true

分析:

為了節省記憶體,提高效能,當取值區間在 -128~127 時,變數a和b會共用乙個物件,即直接將a的記憶體位址賦給b

如果,不在 -128~127 這個區間,則會分別建立兩個物件,如e和f就指向兩個不同的物件,這就是integer的快取機制

且這種機制只在自動裝箱時有效,如果用 integer a = new integer(10);這種方式則無效 

其他同樣支援這種機制的類:

IOS 開發快取機制 記憶體快取機制

使用快取的目的是為了使用的應用程式能更快速的響應使用者輸入,是程式高效的執行。有時候我們需要將遠端 web伺服器獲取的資料快取起來,減少對同乙個 url多次請求。記憶體快取我們可以使用 sdk中的 nsurlcache類。nsurlrequest需要乙個快取引數來說明它請求的 url何如快取資料的,...

Java Integer的相關蹊蹺

參考 integer的裝箱和拆箱 integer a 1 integer b 2 integer c 3 integer d 3 integer e 321 integer f 321 long g 3l long h 2l system.out.println c d system.out.pri...

java Integer 比較的問題

習慣上把integer和int型別混為一談 所以習慣的把 integer 的a 和 integer 的b使用 進行了比較,結果兩個值不相等 system.out.println a b 列印false 老是忘記在給integer包裝類賦值的時候,他是呼叫public static integer v...