Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Andree Pyro
Tvůrce
Avatar
Andree Pyro:29.11.2016 19:56

Ahoj, dělám program do soutěže v programování. Jak už to bávý, vstupy jsou s velkými čísly. Můj program tedy v průběhu výpočtu vytvoří dvourozměrné pole, při čemž jho délka je v obou rozměrech 33 333..
No a konzole mi vyhazuje error

java.lang.OutOfMemoryError: Java heap space

Našel jsem možné řešení, zvýšení heap space v parametrech při spuštění

-Xmx128m -Xms128

I když zadám velké čísla, nic se nezlepší, pořád ten samý error. Akorát pc je pak šílěně zpomalený.
Pomůžete mi to někdo vyřešit? :)
Andrej

Odpovědět
29.11.2016 19:56
Boj sa tých, ktorí sú ticho. Oni sú totiž tí jediní, ktorí skutočne myslia.
Avatar
coells
Tvůrce
Avatar
Odpovídá na Andree Pyro
coells:29.11.2016 20:15

Soutěžní úlohy bývají zpravidla zákeřné, abys musel najít zajímavější řešení.

Tvoje pole obsahuje přes 109 prvků, pokud to jsou například integery, jenom tohle pole spotřebuje skoro 4.5GB paměti.
Jsem si jistý, že celé pole nebude potřeba, protože by to mělo důsledky na časovou složitost a program by ani neskončil.
V první řadě určitě zahoď celé pole a alokuj jen část, kterou nezbytně potřebuješ pro efektivní řešení.

Editováno 29.11.2016 20:15
 
Nahoru Odpovědět
29.11.2016 20:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.