Używam Eclipse. Problem polega na tym, że moja aplikacja ulega awarii, jeśli przydzielona pamięć jest mniejsza niż 512 MB. Czy mimo to istnieje możliwość sprawdzenia dostępnej pamięci dla programu przed rozpoczęciem intensywnego przetwarzania wyczerpującej pamięci? Na przykład, wiem, możemy sprawdzić dostępną wielkość sterty JVM jak:Sprawdź programowo dostępną wielkość pliku heapSize?
long heapSize = Runtime.getRuntime().totalMemory();
System.out.println("Heap Size = " + heapSize);
Problem jest, daje to wielkość sterty JVM. Nawet zwiększenie to nie działa przy użyciu Eclipse. W Eclipse, jeśli zmienię argumenty VM, to działa. Jednak wydruk z powyższych stwierdzeń jest zawsze taki sam. Czy istnieje jakieś polecenie, dzięki któremu mogę dokładnie wiedzieć, ile pamięci przydzielam dla konkretnej aplikacji?
może problemem jest zaćmienie. Czy próbowałeś Netbeans lub IntelliJ? – telm
Próbowałem, to taki sam wynik z dowolnym IDE – Johnydep
Runtime ma zarówno totalMemory() i maxMemory(). maxMemory jest większy w moim doświadczeniu. –