感谢知识星球--Hollis大佬提供的资料
· String可容纳最大长度为Integer.MAX
但使用字符串直接定义String的时候,会把字符串在常量池中存储一份,常量池的最大容量限制是65534,所以如果String大于65534字符长度就会编译报错
· 在Java中,所有保存在常量池中的数据,长度都不可大于65535
- CONSTANT_utf8_info 是一个 CONSTANT_utf8的一个数据项
- u2 length 16位证书 2^16 = 65536 null占据2个字节 65534
· 运行期,String长度最大限制为Integer.MAX_VALUE

Java String长度限制解析
本文详细解析了Java中String的最大长度限制,包括编译时和运行时的不同限制条件。介绍了常量池的大小如何影响直接定义的String长度,并解释了运行期String长度可达Integer.MAX_VALUE的原因。
1014

被折叠的 条评论
为什么被折叠?



