码迷,mamicode.com
首页 > 编程语言 > 详细

java 字符串String的最大长度

时间:2020-01-20 14:37:56      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:char   字节   就是   jvm   阶段   常量   nbsp   运行   运行时   

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的最大长度

标签:char   字节   就是   jvm   阶段   常量   nbsp   运行   运行时   

原文地址:https://www.cnblogs.com/rgyfred/p/12217645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!