/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JBuilder/Java og outOfMemory error?
Fra : Simon [2700]


Dato : 17-11-04 12:46

(bruger JBuilder til udvikling)

Hej,
baggrund:
jeg har et større skoleprojekt hvor vi skal lave et pacman spil der skal
styre nogle lego RCX enheder (små robotter).

problem:
jeg har lavet en algoritme der skal finde det næste punkt på banen som ikke
er "opdaget" endnu, for at gør dette gemmer jeg alle veje
der er til alle punkter der ikke er findet i et 2D string array hvor første
plads så er længden på vejen og næste er selve vejen så fx
vej[10][2] vil være 3. vej der er 10 lang. for at gøre dette far jeg en
rekursiv algoritme der går til et punkt, kigger op ned højre og venstre, og
hvis
der er et punkt på nogen af retningerne den ikke har været på så tager den
en tur henaf dette og gør det samme, den tjekker selvfølgeligt om den har
været der før før den begiver sig videre. når jeg kører denne algoritme får
jeg en out of memory error, selvom det ikke ser ud til der bliver brugt
særligt meget i windows, kører med 2gb, og bruger omkring 550mb.... så jeg
tænkte det var en begrænsning der var sat et sted, kan jeg ændre på denne i
mit program, så det også vil køre på andre maskiner, eller må jeg i tænke
tanken og skrive min algorime om ?

på forhånd tak
mvh.Simon



 
 
Thorbjoern Ravn Ande~ (17-11-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 17-11-04 13:44

"Simon [2700]" <devnull@linux.org> writes:

> været der før før den begiver sig videre. når jeg kører denne algoritme får
> jeg en out of memory error, selvom det ikke ser ud til der bliver brugt
> særligt meget i windows, kører med 2gb, og bruger omkring 550mb.... så jeg
> tænkte det var en begrænsning der var sat et sted, kan jeg ændre på denne i
> mit program, så det også vil køre på andre maskiner, eller må jeg i tænke
> tanken og skrive min algorime om ?

Du allokerer for meget hukommelse, eller laver for dyb rekursion. Som
standard har et javaprogram kun 64 Mb at gøre godt med, og hvis man
ikek er forsigtig kan det godt smutte fra en.

Hvis stacktracet er _MEGET_ langt tyder det på dyb rekursion.

Det er nemmest at give forslag hvis du har en minimal stump kode der
viser den opførsel du har problemer med.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Simon [2700] (18-11-2004)
Kommentar
Fra : Simon [2700]


Dato : 18-11-04 22:19

> Du allokerer for meget hukommelse, eller laver for dyb rekursion. Som
> standard har et javaprogram kun 64 Mb at gøre godt med, og hvis man
> ikek er forsigtig kan det godt smutte fra en.
>
> Hvis stacktracet er _MEGET_ langt tyder det på dyb rekursion.
>
> Det er nemmest at give forslag hvis du har en minimal stump kode der
> viser den opførsel du har problemer med.

hej igen, tak for info, tror du har ret, jeg må bare skrive den om, men det
var en meget dyb rekursiv algoritme...

mvh.Simon



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste