java 字符串String的最大长度
Posted 五虎啸天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的内存才能存储最大长度的字符串。
以上是关于java 字符串String的最大长度的主要内容,如果未能解决你的问题,请参考以下文章
本程序找出字符串数组 String[] arr = {“welcome”, “china”, “hi”, “congratulation”, “great”} 中的长度最大的元素,并打印输出。