[Java lista] java program folyamatok

bognár attila attila at netalfa.hu
2007. Jún. 16., Szo, 10:18:53 CEST


> Írtam egy ilyen programot:
>        while(true) {
>             String s = new String("Helló");
>             System.out.println("->" + s);
>         }
> Elindítottam, és ez is 16 folyamatot hoz létre alapból, mint a Chat. Néztem 
> a heapet netbeans profilerben, és 14 perc után out of memory-val leállt.
> Átírtam ilyenre:
>        String s;
>        while(true) {
>             s = new String("Helló");
>             System.out.println("->" + s);
>         }
> Így is ugyanaz. Ez miért van?
>   

Alapvetően ugyanaz (1. uaz a string objektum, sőt ez is uaz: 
System.out.println("->" + "Helló"), 2. ha nem string lenne a gc akkor is 
kidobálná, 3. tudtommal ezt kioptimalizálja a fordító/jit - a listán 
vannak, akik ebben jobban otthon vannak).

String helyett érdemes lenne mondjuk long-gal is kipróbálni.

És ha nem netbeans-ben futtatod? Esetleg a System.out.println-be írjál 
egy kis "belső" statisztikát is (Runtime.freeMemory és totalMemory)

Ennyi a program?

public class Ize extends Thread
{
    public void run ()
    {
       while (true)
       {
          String s = new String("Helló");
          System.out.println("->" + s);
       }
    }
    public static void main (String[] args)
    {
       new Ize().start();
    }
}


>>>            fakeDb = true;
>>>
>>>          if(fakeDb) {
>>>                hallgato = new HallgatoObj();
>>>                szerver.lehetsegesHallgatokZarolva = true;
>>>       
>
>   
>> ez hol lesz false és mi a célja? vagy csak a jövőre vonatkozóan van? valami 
>> szinkronizálás mindenesetre nem ártana
>>     
> be van zárva a port a szerveren, így otthonról nem érem el, ezért ha true a 
> fakeDb akkor nem adatbázishoz kapcsolódik, hanem létrehoz néhány objektumot. 
> Tehát egy programfutásnál ez vagy mindig false, vagy mindig true.
>   

én a lehetségesHallgatokZarolva változóra gondoltam. csak beállítod 
'true'-re, de sehol nem olvasod az értéket. de jelen esetben elvileg 
nincs jelentősége.



--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070616/413882c3/attachment-0001.html 


További információk a(z) Javalist levelezőlistáról