Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)

[es] :: Java :: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)

[ Pregleda: 2759 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

umpirsky
Saša Stamenković
Niš

Član broj: 160299
Poruke: 65
212.200.237.*

Sajt: umpirsky.com


Profil

icon Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 13:10 - pre 188 meseci
Koristim aplet za upload fajlova, kada selektujem malo vise fajlova (npr. 40MB), javlja se problem sa memorijom.

U konzoli dobijam:

Code:

java.security.PrivilegedActionException: java.lang.reflect.InvocationTargetException
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.plugin.javascript.JSInvoke.invoke(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
    at sun.plugin.liveconnect.PrivilegedCallMethodAction.run(Unknown Source)
    ... 4 more
Caused by: java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Unknown Source)
    at java.io.ByteArrayOutputStream.write(Unknown Source)
    at sun.net.www.http.PosterOutputStream.write(Unknown Source)
    at umpirsky.ClientHttpRequest.pipe(Unknown Source)
    at umpirsky.ClientHttpRequest.setParameter(Unknown Source)
    at umpirsky.ClientHttpRequest.setParameter(Unknown Source)
    at umpirsky.ClientHttpRequest.setParameter(Unknown Source)
    at umpirsky.ClientHttpRequest.setParameters(Unknown Source)
    at umpirsky.ClientHttpRequest.post(Unknown Source)
    at umpirsky.ClientHttpRequest.post(Unknown Source)
    at umpirsky.UmpirskyUploader.upload(UmpirskyUploader.java:195)
    ... 14 more


Da li je moguće povećati memoriju za aplet, ali ne u podešavanjem JVM na klijentovoj mašini, nego u samom apletu, na primer prilikom komajliranja da se navede mem. ograničenje ili tako nešto?
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9506
212.200.68.*



+10254 Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 14:07 - pre 188 meseci
A šta radiš sa uploadovanim fajlovima ?
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

umpirsky
Saša Stamenković
Niš

Član broj: 160299
Poruke: 65
212.200.237.*

Sajt: umpirsky.com


Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 14:16 - pre 188 meseci
Stavljam ih u ArrayList<File> koji je privatni atribut mog apleta, onda ih kasnije uploadujem na server kad korisnik inicira akciju...
 
Odgovor na temu

umpirsky
Saša Stamenković
Niš

Član broj: 160299
Poruke: 65
212.200.237.*

Sajt: umpirsky.com


Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 14:17 - pre 188 meseci
DA, možda je to glupo, bolje da čuvam samo reference na te fajlove i rešen problem, jel da?

 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9506
212.200.68.*



+10254 Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 14:37 - pre 188 meseci
Pa naravno. Mislim, držati > 40 MBy fajlova u memoriji je malo degutantno, zar ne ?

OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

umpirsky
Saša Stamenković
Niš

Član broj: 160299
Poruke: 65
212.200.237.*

Sajt: umpirsky.com


Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 14:43 - pre 188 meseci
Pa da...zakodirao sam se :)

Bilo mi zgodno da imam ArrayList<File>, imam sve te lepe podatke, putanju, ime, size...ovako ću morati da napravim neku klasu da držim sve to.
 
Odgovor na temu

gajo2
Budapest

Član broj: 62614
Poruke: 518
*.i-rose.si.

Sajt: b.flyingoranges.com


+117 Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 14:45 - pre 188 meseci
ArrayList<File> ne drzi bajtove tih fajlova, nego samo reference, tj. ono sto tebi treba. Mozda je nesto drugo u pitanju?
 
Odgovor na temu

umpirsky
Saša Stamenković
Niš

Član broj: 160299
Poruke: 65
212.200.237.*

Sajt: umpirsky.com


Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 14:52 - pre 188 meseci
Hehum...a šta onda radi FileDataSource ( http://java.sun.com/javase/6/d...activation/FileDataSource.html )
 
Odgovor na temu

gajo2
Budapest

Član broj: 62614
Poruke: 518
*.i-rose.si.

Sajt: b.flyingoranges.com


+117 Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 15:09 - pre 188 meseci
Gde si javax.activation nasao? Jel to uopste deo Jave ili ti trebaju neke posebne biblioteke?
Nesto mislim da ti ucitavas sve fajlove u istom trenutku, i to u trenutku kada kliknes na Upload dugme (tako mi izgleda iz stack tracea). Ono sto bi mogao da uradis je da prolazis kroz svaki fajl i uploadujes kroz stream jedan po jedan. Kad vidis da ti to radi, onda kreni da optimizujes pa probaj odjednom 10 MB i nekako pazi da ne prodjes kroz taj limit (bolje 9,5 MB nego 19). Dakle ako imas 50 MB, onda uploaduj iz (recimo) 5 iteracija.
 
Odgovor na temu

umpirsky
Saša Stamenković
Niš

Član broj: 160299
Poruke: 65
*.dynamic.sbb.rs.

Sajt: umpirsky.com


Profil

icon Re: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)14.10.2008. u 18:48 - pre 188 meseci
Nije problem u ArrayList<File>, u pravu si ona čuva samo reference. Znam da nije tu problem jer ne puca na browse, nego na upload. Za upload koristim http://www.koders.com/java/fid...5BB56629AD65C1FF272EE51A0.aspx , malo sam je modifikovao tako da ima metod koji prima listu fajlova, ali je engine ostao isti (naravno, dajem joj fajl po fajl). Obrati čežnju na metod :

Code:

 private static void pipe(InputStream in, OutputStream out) throws IOException {
    byte[] buf = new byte[500000];
    int nread;
    int total = 0;

    synchronized (in) {
      while((nread = in.read(buf, 0, buf.length)) >= 0) {
        out.write(buf, 0, nread);
        total += nread;
      }
    }
    out.flush();
    buf = null;
  }


 
Odgovor na temu

[es] :: Java :: Applet - problemi sa memorijom (java.lang.OutOfMemoryError: Java heap space)

[ Pregleda: 2759 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.