最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談java常量池

 更新時間:2016年06月12日 12:47:17   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談java常量池。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

java常量池技術(shù)

java中常量池技術(shù)說的通俗點就是java級別的緩存技術(shù),方便快捷的創(chuàng)建一個對象。當需要一個對象時,從池中去獲?。ㄈ绻刂袥]有,就創(chuàng)建一個并放入池中),當下次需要相同變量的時候,不用重新創(chuàng)建,從而節(jié)省空間。

java八種基本類型的包裝類和對象池

java中的基本類型的包裝類、其中Byte、Boolean、Short、Character、Integer、Long實現(xiàn)了常量池技術(shù),(除了Boolean,都只對小于128的值才支持)

比如,Integer對象

Integer i1 = 100;
Integer i2 = 100;
// 上面兩行代碼,使用自動裝箱特性,編譯成
// Integer i1 = Integer.valueOf(100);
// Integer i2 = Integer.valueOf(100);
System.out.println(i1 == i2);

Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);

執(zhí)行結(jié)果:

true
false

原因我看下Integer對象的valueOf()的源碼

public static Integer valueOf(int i) {
   assert IntegerCache.high >= 127;
   if (i >= IntegerCache.low && i <= IntegerCache.high)
     return IntegerCache.cache[i + (-IntegerCache.low)];

   // 對于不在這個范圍的就重新創(chuàng)建一個Integer對象   
   return new Integer(i);
}

對于-128~127的Integer對象才會到IntegerCache里獲取緩存,使用常量池技術(shù)。

private static class IntegerCache {  ...  static final Integer cache[];
// IntegerCache類的cache是用final修飾的,是個靜態(tài)數(shù)組,起到緩存的作用}

String類的常量池

String類型的常量池比較特殊,String類常量池在jdk7中放在了java heap中。使用方法包括:

•直接使用字面量聲明,如String s = "abc";

•使用String.intern();

以上這篇淺談java常量池就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 逆波蘭計算器(Java實現(xiàn))

    逆波蘭計算器(Java實現(xiàn))

    這篇文章主要為大家詳細介紹了Java實現(xiàn)逆波蘭計算器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • IDEA的常見的設(shè)置和優(yōu)化功能圖文詳解

    IDEA的常見的設(shè)置和優(yōu)化功能圖文詳解

    這篇文章主要介紹了IDEA的常見的設(shè)置和優(yōu)化功能,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Mybatis分頁的實現(xiàn)及使用注解開發(fā)操作

    Mybatis分頁的實現(xiàn)及使用注解開發(fā)操作

    這篇文章主要介紹了Mybatis分頁的實現(xiàn)及使用注解開發(fā)操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java?Synchronize底層原理總結(jié)

    Java?Synchronize底層原理總結(jié)

    這篇文章主要給大家總結(jié)了Java?Synchronize底層原理,文中的圖文講解介紹的非常詳細,對我們學習Java?Synchronize有一定的幫助,需要的朋友可以參考下
    2023-06-06
  • MyBatis使用注解開發(fā)和無主配置文件開發(fā)的情況

    MyBatis使用注解開發(fā)和無主配置文件開發(fā)的情況

    這篇文章主要介紹了MyBatis使用注解開發(fā)和無主配置文件開發(fā)的情況,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 淺談Spring Data Redis讀不到設(shè)進去的值

    淺談Spring Data Redis讀不到設(shè)進去的值

    本文主要介紹了Spring Data Redis怎么讀不到我剛才設(shè)進去的值,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java調(diào)用Oracle存儲過程詳解

    Java調(diào)用Oracle存儲過程詳解

    這篇文章主要介紹了Java調(diào)用Oracle存儲過程詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java中注解與原理分析詳解

    Java中注解與原理分析詳解

    注解即標注與解析,在Java的代碼工程中,注解的使用幾乎是無處不在,甚至多到被忽視。本文就來和大家詳細說說Java中注解的原理與實現(xiàn),需要的可以參考一下
    2022-11-11
  • mybatis整合springboot報BindingException:Invalid?bound?statement?(not?found)異常解決

    mybatis整合springboot報BindingException:Invalid?bound?stateme

    這篇文章主要給大家介紹了關(guān)于mybatis整合springboot報BindingException:Invalid?bound?statement?(not?found)異常的解決辦法,這個錯誤通常是由于Mapper文件中的statement?id與Java代碼中的方法名不一致導致的,需要的朋友可以參考下
    2024-01-01
  • java 中 阻塞隊列BlockingQueue詳解及實例

    java 中 阻塞隊列BlockingQueue詳解及實例

    這篇文章主要介紹了java 中 阻塞隊列BlockingQueue詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03

最新評論

富平县| 祥云县| 富裕县| 连南| 达拉特旗| 政和县| 普兰店市| 瑞安市| 连城县| 平潭县| 卢湾区| 康平县| 仪征市| 青冈县| 汉沽区| 罗甸县| 会理县| 溆浦县| 林甸县| 房山区| 渝中区| 自贡市| 三门县| 成安县| 象州县| 苏尼特右旗| 红安县| 镶黄旗| 梧州市| 武川县| 册亨县| 乌兰浩特市| 田东县| 湘西| 长葛市| 密山市| 绵竹市| 河北省| 武夷山市| 繁峙县| 潍坊市|