答えは、システム アーキテクチャによって異なります。
2012年に回答を投稿したときのこの古いマシン
文字の最大長 = 37748734
Java バージョン: 1.6.0_35
OS:Windows7
システム アーキテクチャ : 32 ビット (x86)
RAM:2GB
プロセッサ: Pentium デュアルコア E5800 3.20GHz
2016年
文字の最大長 = 301989886
Java バージョン: 1.8
OS : Ubuntu 14 LTE および Windows 7
システム アーキテクチャ : 64 ビット (x86_64)
RAM:8GB
プロセッサ: Intel(R) Core(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