答案因系统体系结构而异。
这个古老的机器时,我张贴的答案2012字符的
最大长度=
Java版本:1.6.0_35
操作系统:Windows 7
系统结构:32位(x86)
RAM:2 GB
处理器:Pentium双核E5800 3.20GHz
在2016
字符的最大长度=
Java版本: 1.8
OS:Ubuntu的14 LTE和Windows 7
系统架构:64位(x86_64的)
RAM:8 GB
处理器:Intel(R)核心(TM)i3-4130 CPU @ 3。40GHz的
运行这个程序,你的自我
StringBuffer strbTest = new StringBuffer();
long len = 0;
try {
System.out.println("Wait.... til number not generated.");
while(true) {
strbTest.append("a");
len++;
}
} catch (OutOfMemoryError e) {
System.out.println("Max length on your system is "+len);
System.out.println("Error");
}
System.out.println("End");
输出
Max length on your system is 37748734
不要使用一个StringBuffer时,你可以使用StringBuilder(它具有相同的限制虽然) – 2012-08-10 20:58:03
A 2^32-1 StringBuilder将需要4 GB。你想创建这么长的字符串吗? – 2012-08-10 20:58:47