溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 基礎數(shù)據(jù)類型包裝類的高頻區(qū)間的數(shù)據(jù)緩存

發(fā)布時間:2020-08-07 18:39:18 來源:網(wǎng)絡 閱讀:650 作者:Ellie6689 欄目:編程語言

一、Java的基礎數(shù)據(jù)類型的包裝類:Integer,Long,Double,F(xiàn)loat,Boolean,Byte,Short,Character。

二、高頻緩存區(qū)

  • 其中Double和Float沒有緩存,其他類型都有高頻緩存區(qū)間。其高頻緩存區(qū)間的緩存范圍是:
    Boolean:使用靜態(tài)final,就會返回靜態(tài)值
    Byte:-128~127
    Short:-128~127
    Character:0~127
    Long:-128~127
    Integer:-128~127

  • 如果所使用的包裝類的值在這個緩存區(qū)間內(nèi),就會直接復用已有對象,在緩存區(qū)間之外的數(shù)值會重新在堆上產(chǎn)生。所以在判斷是否相等時不要用“==”,用equals,否則會出現(xiàn)以下情況:
    Integer i1 = 127;
    Integer i2 = 127;
    i1 == i2 ->true

    Integer i3 = 128;
    Integer i4 = 128;
    i3 == i4 ->false
  • Integer是唯一一個可以修改緩存范圍的包裝類。在VM options加入?yún)?shù): -XX:AutoBoxCacheMax=555即將緩存區(qū)間的最大值改為555.
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI