java字符串String的最⼤长度
java字符串String的最⼤长度,要分两个阶段,编译阶段及运⾏时阶段
编译阶段:
在我们使⽤字符串字⾯量直接定义String的时候,会把字符串在常量池中存储⼀份。常量池中的每⼀项常量都是⼀个表,都有⾃⼰对应的类型。String类型,有⼀张固定长度的CONSTANT_String_info表⽤来存储⽂字字符串值,注意:该表只存储⽂字字符串值,不存储符号引⽤。
JVM的常量池最多可放65535个项。第0项不⽤。最后⼀项最多只能是65534(下标值)。⽽每⼀项中,若是放⼀个UTF-8的常量串,其长度最长是:65535个字节(不是字符)。
运⾏时阶段:字符串长度规则
String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最⼤长度就是Integer.MAX_VALUE了,2147483647;⼜由于java中的字符是以16位存储的,因此⼤概需要4GB的内存才能存储最⼤长度的字符串。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论