abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 22
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (35%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (13%)
    Celkem 91 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: Java zvětšení pole pomocí znovuvytvoření

    27.12.2009 18:01 jafaa
    Java zvětšení pole pomocí znovuvytvoření
    Přečteno: 1447×
    Potřeboval bych v javě zvětšit pole. Asi jediná možná cesta je znovuvytvořit ho, tzn. mojepole = new int[velikost]; Takhle to funguje, ale mám pocit že tím se neuvolní místo v paměti po starém poli. Jestli je to tak, jak mám to místo uvolnit?

    Řešení dotazu:


    Odpovědi

    27.12.2009 19:07 Jan Trávníček | skóre: 10 | blog: ehonza | Existuje
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Java používá garbage collector, díky tomu se sama stará o uvolnění paměti - nic není potřeba uvolňovat. Zvětšení pole v javě můžeš jedině přes inicializaci jiného a překopírování obsahu (třída Arrays poskytuje metody na kopírování). Pokud by si vyžadoval dynamickou velikost pole zkusil bych ArrayList nebo něco obdobného.
    To mess up a Linux box, you need to work at it; to mess up your Windows box, you just have to work on it.
    27.12.2009 19:41 kuka
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Jen doplnim, ze zminene metody v Arrays jsou az od verze 1.6, (nejen) ve starsich lze pouzit System.arraycopy().
    Řešení 1× (Jan Trávníček)
    28.12.2009 11:32 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Staré pole se uvolní automaticky po té, co na něj nebude ukazovat žádný odkaz – v Javě se o uvolňování paměti stará garbage collector. Jinak pokud potřebujete měnit velikost, použijte raději nějakou kolekci. Používat pole a měnit jeho velikost může být dobré jedině v případě, kdy je to kritická část kódu, kterou potřebujete optimalizovat – a k tomu je zase potřeba Javu znát docela dobře. Pokud potřebujete výsledek předat někam, kde se očekává pole, převeďte kolekci na pole až těsně před použitím pomocí toArray().
    Řešení 1× (podlesh)
    28.12.2009 14:49 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Jenom bych doplnil, že tazatel chce ukládat inty, takže používání standardních kolekcí (= boxing) přináší overhead (především paměťový). U malého objemu dat je to celkem jedno, ale u větších už je rozdíl znát a vyplatí se používat pole primitivních typů.

    I tak ale není nutné psát si to ručně, existují knihovny jako PCJ (mám dobré zkušenosti), GNU Trove (nemám zkušenosti) a řada dalších (nechce se mi hledat, google pomůže).
    28.12.2009 15:54 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Přehlédl jsem, že jde o pole intů. Ale i tak, to co píšete už je optimalizace – a je lépe nejprve použít kolekce a teprve když se ukáže, že je tam výkonový nebo paměťový problém, řešit optimalizaci, než to psát rovnou „optimalizovaně“, nadělat chyby v kopírování polí, napsat to kopírování neefektivně a nakonec zjistit, že s tou optimalizací je to horší, než bez ní. Tedy nic proti optimalizacím, jenom je potřeba si uvědomit, že takové kopírování pole může ve skutečnosti výkon i paměťovou náročnost zhoršit. Ostatně, pro velký objem dat se zase bude spíš než pole hodit něco z java.nio.
    29.12.2009 12:52 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    používanie javy všeobecne prináša pamäťový overhead :-)
    28.12.2009 18:21 maertien
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Diky Garbage Collector neni treba se uniku pameti obavat.
    28.12.2009 19:05 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    To bych netvrdil, i s garbage collectorem je možné vyrobit únik paměti. Není nutné explicitně uvolňovat paměť, ta se uvolní po té, co se daný objekt přestane používat (přestane na něj existovat ukazatel). Pořád ale můžete vyrobit únik paměti tak, že budete držet ukazatel na nějaký objekt, který už nepotřebujete.
    29.12.2009 12:55 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    pozor, javovský gc pracuje len "niekedy v budúcnosti". Extrémna situácia: medzi dvoma spusteniami gc sa vyčerpá toľko pamäte, že gc jej nebude mať dosť na svoj vlastný beh :-)
    29.12.2009 13:25 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Ze skutečnosti, že o tom nic nevíte, nemusíte hned vyvozovat závěr, že to určitě funguje špatně. Funkce alokátoru paměti nezávisí na tom, zda požadavky na alokaci paměti a její vrácení dostává explicitně od programátora, nebo se o ně stará nějaká softwarová komponenta.
    29.12.2009 13:41 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    Myslím že diskuse by se měla zamknout, jediné co zde přibude je flamewar.
    29.12.2009 16:45 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Java zvětšení pole pomocí znovuvytvoření
    To len hadas, alebo pises o nejakej prototypovej implementacii GC s cias ked JDK 1.0 bola horucou novinkou? Sucasne Javovske garbage collectory su uz uplne, ale uplne inde.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.