[Java] String 长度限制

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

未完待续。。。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页