Java String 长度限制

来源:互联网 发布:平价水乳套装 知乎 编辑:程序博客网 时间:2024/05/16 04:32

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

未完待续。。。

0 0