Użyłem Out Of Memory help from sun's site. Gdzie jest cytowany jakoJak zasymulować brak pamięci: Żądany rozmiar tablicy przekroczył limit VM
Out Of Memory : Requested array size exceeds VM limit
This indicates that the application attempted to allocate an array that is larger than the heap size. For example, if an application tries to allocate an array of 512MB but the maximum heap size is 256MB, then this error will be thrown. In most cases the problem is likely to be either that the heap size is too small or that a bug results in the application attempting to create an array whose size is calculated to be incorrectly huge.
próbowałem symulować to przez
import java.util.ArrayList;
import java.util.List;
public class JavaTest {
public static void main(String[] args){
long[] ll = new long[64*1024*1024];
}
}
na moim komputerze z
javac *.java;java -Xmx256m JavaTest
ale powyżej linii produkuje
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at JavaTest.main(JavaTest.java:7)
Co czy ja tęsknię?
Aktualizacja: Moja wersja Java jest
$java -version java version "1.6.0_15" Java(TM) SE Runtime Environment (build 1.6.0_15-b03) Java HotSpot(TM) Server VM (build 14.1-b02, mixed mode)
Dzięki. To też działa dla mnie. Ale dlaczego mój kod nie działał wcześniej? – DKSRathore
Ok.Tak więc mój system generuje ten wyjątek w zakresie od 1024 * 1024 * 1024-2 do Integer.MAX_VALUE – DKSRathore
@Adrian, Skąd mam znać mój limit VM? – DKSRathore