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的最大长度的主要内容,如果未能解决你的问题,请参考以下文章

Java中String类型有没有长度的限制?

okhttp json字符串长度最大多少

DDL(数据定义语言)

原创使用Java进行Clob转String字符串

java String类-获取两个字符串的最长相同子串

本程序找出字符串数组 String[] arr = {“welcome”, “china”, “hi”, “congratulation”, “great”} 中的长度最大的元素,并打印输出。