[Java] String 长度限制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012099869/article/details/61199442

一、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];
}

未完待续。。。

猜你喜欢

转载自blog.csdn.net/u012099869/article/details/61199442