1. 程式人生 > > [Java] String 長度限制

[Java] String 長度限制

一、Java String 變數長度限制

根據 String 原始碼:

因此,理論上 String 變數長度限制為 int 型別的最大值,即 Integer.MAX_VALUE = 2^31 - 1 = 2147483647,約等於 2G。

注:實際還和 java 堆記憶體大小有關。

二、Java String 常量長度限制

而在 Java 中,由於字串常量池的存在,String 常量長度限制取決於 String 常量在常量池中的儲存大小。

字串在 class 檔案中的儲存格式為:

CONSTANT_Utf8_info {
    u1 tag;
    u2 length;
    u1 bytes[length];
}

未完待續。。。