Sun のサイトの Out Of Memory ヘルプを使用しました。と引用されているところ
メモリ不足: 要求された配列サイズが VM の制限を超えています
これは、アプリケーションがヒープ サイズより大きい配列を割り当てようとしたことを示します。たとえば、アプリケーションが 512MB の配列を割り当てようとしたが、最大ヒープ サイズが 256MB である場合、このエラーがスローされます。ほとんどの場合、問題は、ヒープ サイズが小さすぎるか、バグにより、アプリケーションが誤って巨大であると計算されたサイズの配列を作成しようとすることのいずれかである可能性があります。
これをシミュレートしようとしました
import java.util.ArrayList;
import java.util.List;
public class JavaTest {
public static void main(String[] args){
long[] ll = new long[64*1024*1024];
}
}
私のマシンで
javac *.java;java -Xmx256m JavaTest
しかし、上記の行は生産しています
スレッド「メイン」の例外 java.lang.OutOfMemoryError: Java ヒープ領域 JavaTest.main(JavaTest.java:7) で
私は何が欠けていますか?
更新: 私のJavaバージョンは
$java -バージョン Java バージョン「1.6.0_15」 Java(TM) SE ランタイム環境 (ビルド 1.6.0_15-b03) Java HotSpot(TM) Server VM (ビルド 14.1-b02、混合モード)