<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    Java字符串的最大長度

    Posted on 2009-01-15 01:37 dennis 閱讀(62526) 評論(7)  編輯  收藏 所屬分類: java源碼解讀
        在cpp中為了可移植性,string的長度是string::size_type,突然就想知道java允許的最大字符串長度為多少。看String的源碼:
    public final class String
      
    110       implements java.io.Serializable, Comparable<String>, CharSequence
      
    111   {
      
    112       /** The value is used for character storage. */
      
    113       private final char value[];
      
    114   
      
    115       /** The offset is the first index of the storage that is used. */
      
    116       private final int offset;
      
    117   
      
    118       /** The count is the number of characters in the String. */
      
    119       private final int count;
       String內(nèi)部是以char數(shù)組的形式存儲,數(shù)組的長度是int類型,那么String允許的最大長度就是Integer.MAX_VALUE了。又由于java中的字符是以16位存儲的,因此大概需要4GB的內(nèi)存才能存儲最大長度的字符串。不過這僅僅是對字符串變量而言,如果是字符串字面量(string literals),如“abc"、"1a2b"之類寫在代碼中的字符串literals,那么允許的最大長度取決于字符串在常量池中的存儲大小,也就是字符串在class格式文件中的存儲格式:
    CONSTANT_Utf8_info {
            u1 tag;
            u2 length;
            u1 bytes[length];
    }

        u2是無符號的16位整數(shù),因此理論上允許的string literal的最大長度是2^16-1=65535。然而實際測試表明,允許的最大長度僅為65534,超過就編譯錯誤了,有興趣可以寫段代碼試試,估計是length還不能為0。


    評論

    # re: Java字符串的最大長度  回復(fù)  更多評論   

    2009-01-15 10:06 by Arbow
    準(zhǔn)備搞cpp了吧

    # re: Java字符串的最大長度  回復(fù)  更多評論   

    2009-01-31 14:57 by Jack.Wang
    LZ是否知道 Str 超過 65534 編譯錯誤?

    # re: Java字符串的最大長度  回復(fù)  更多評論   

    2009-03-19 18:53 by dennis
    @Jack.Wang
    您根本就沒看我的blog內(nèi)容就急急忙忙地評論了吧

    # re: Java字符串的最大長度  回復(fù)  更多評論   

    2011-10-19 16:37 by 小彭
    很好,對我有用

    # re: Java字符串的最大長度  回復(fù)  更多評論   

    2014-12-30 18:34 by yc
    NULL占用兩個位置,所以是65534

    # re: Java字符串的最大長度  回復(fù)  更多評論   

    2016-04-25 15:28 by r
    utryrt

    # re: Java字符串的最大長度  回復(fù)  更多評論   

    2016-06-17 15:35 by zzz
    寫得很好
    主站蜘蛛池模板: 最好看最新的中文字幕免费| 一级成人a毛片免费播放| 亚洲AV无码久久精品色欲| 99久久人妻精品免费一区| 亚洲欧美日韩国产成人| 国产亚洲欧洲Aⅴ综合一区| 亚洲国产精品免费在线观看| 亚洲爆乳精品无码一区二区| 亚洲精品无码久久久久去q| 可以免费看的卡一卡二| 成在线人直播免费视频| 亚洲日本乱码一区二区在线二产线| 成人爱做日本视频免费| 成年免费a级毛片免费看无码| 亚洲欧美日韩综合俺去了| 成在线人直播免费视频| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲国产成人久久综合区| 999国内精品永久免费视频| 一级毛片视频免费观看| 亚洲av午夜精品无码专区| 中文字幕不卡亚洲| 波多野结衣久久高清免费| 久久午夜无码免费| 又大又硬又粗又黄的视频免费看| 亚洲制服丝袜在线播放| 337p日本欧洲亚洲大胆裸体艺术| 免费在线观看的网站| 无码囯产精品一区二区免费 | 亚洲精品色播一区二区| 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 免费无码一区二区三区蜜桃大 | 免费一级一片一毛片| 国产一卡2卡3卡4卡无卡免费视频 国产一卡二卡3卡四卡免费 | 亚洲精品91在线| 亚洲欧洲日产国码无码网站| 免费国产成人午夜电影| 欧洲精品成人免费视频在线观看 | 亚洲免费视频观看| 亚洲AV无码一区二区三区DV| 亚洲精品成人a在线观看|