«« ( Date ) »» // «« ( Thread ) »» // drs - 2007

Re: OutOfMemoryError

by Igor Stojkovic
ponedeljak, 18. jun 2007 - 22:35.

On 6/18/07, Vanja Petreski <vpetreski@gmail.com> wrote:
Evo zasto (sada ces mozda shvatiti da imas pogresno resenje :D):

Ukoliko u tvoj objekat Poruka stavljas izmedjuostalog neki objekat koji si
vec jedanput poslao, a posle toga se u njemu nesto izmenilo i sada ga ponovo
saljes na ovaj nacin, oos ce to skapirati, jer drzi u kesu i nece ponovo
poslati taj objekat. Sa druge strane kada se primi poruka, bice procitan
stari objekat, a ne novi izmenjeni. Na taj nacin Java optimizuje, ima kes.
Medjutim ovo je lose kada menjas pa saljes, a to je situacija, bar kod
mene.. E sad, resenje tog problema je da radis svaki put posle upisa
reset(); Ta operacija cisti CEO kes. Ali onda imas problem, jer je ~15 puta
sporije! Sve ili nista!

Evo jednog dobrog artikla na tu temu:
http://javaspecialists.eu/archive/newsletter.do?issue=088&locale=en_US


Ma citao sam i ja nesto o toj optimizaciji, ali eto meni ne pravi
problema. Sve mi radi. Mozda zato sto to sto Poruka sadrzi nije sam
objekat nego je byte[] polje u koje smestam serializovanu pa zipovanu
instancu tog objekta.

--
Pozdrav,
Igor Stojkovic mailto: stojkovic.igor@gmail.com