Názory ke článku Jemný úvod do garbage collection
Jsme zvědav na další díly. Článek mi přijde velice srozumitelně napsaný, navíc na zajímavé téma, takže jen do toho, netrpělivě očekávám další díly!
super....po delsi dobe zase zajimavy clanek, ktery mi objasnil spoustu veci...jen tak dal...
18. 6. 2008
Souhlas, clanek je naprosto spickovej a taky netrpelive cekam na pokracovani. Je videt, ze autor ma v principech programovani, jazycich, atd. zcela 'jasno'. Co me teda 'vyridilo' je vek autora. Musim se holt smirit s tim, ze jsou mezi nami i genialni lidi... Jakube jen tak dal.
Vážně pěkně napsaný, pro mě osobně byl článek sice informačně řídký, ale to neber jako chybu, naopak, takto mohou problematiku pochopit i naprostí začátečníci. Jen doufám, že to nebylo odnikud opsané, protože v tom článku vidím zájem něco kvalitně sdělit, nudných bleskovek o ničem už bylo dost.
Reagoval na komentář od uživatele Huge : Taky doufám, že to nebylo odnikud opsané, ale po prvním přečtení jsem nabyl dojmu, že ano (překlad bez uvedených zdrojů). Může to být tím, že jsem přečetl pár anglických článků a ty informace jsou všude stejné.
20. 6. 2008
některé věci nejsou uplně přesné a některé by bylo dobré ještě doplnit(GB v Jave + J2ME)
Nejdříve bych chtěl všem poděkovat za víceméně kladné ohlasy, je to obrovská motivace.
Reagoval na komentář od uživatele fugo :
Co me teda 'vyridilo' je vek autora. Musim se holt smirit s tim, ze jsou mezi nami i genialni lidi...
No, takhle bych to rozhodně netvrdil. Pouze píšu o tom, o čem něco vím a co mě zajímá.
Reagoval na komentář od uživatele Huge :
Jen doufám, že to nebylo odnikud opsané
Reagoval na komentář od uživatele Dušan Janošík :
Taky doufám, že to nebylo odnikud opsané, ale po prvním přečtení jsem nabyl dojmu, že ano (překlad bez uvedených zdrojů).
Nezlobte se na mě, ale obviňovat mě z kopírování, či přeložení bez toho, abych uvedl zdroje... Navíc bez jakéhokoli důkazu. Já nevím, ale nezdá se vám to přinejmenším unáhlené?
Články píšu sám, jsou z mé vlastní hlavy. Okopírovat od někud text se mi zdá hnusné a ty, co toto dělají, lituji, že nemají alespoň snahu to napsat sami. Pokud vás zajímají mé zdroje, čerpám ze všeho, co najdu. (Čerpám nerovná se kopíruji. Někteří si zřejmě myslí opak.) Takže hlavně internet, ale dobrým zdrojem mi také je kniha Garbage Collection Algorithms For Automatic Dynamic Memory Management (Richard Jones), doporučuji. Někdy je čtení trochu umořující, ale informací je kniha opravdu plná. Navíc nejde o jeden těch z titulů, kde „s příchodem nové verze“ (programu atp.), pozbývá své hodnoty.
Reagoval na komentář od uživatele eMan :
některé věci nejsou uplně přesné
Mohl byste být trochu konkrétnější? (Neberte to tak, že bych se do vás chtěl nějak navážet, prosím. Pouze se mi jedná o to, aby informace v článku byly naprosto správné.)
některé by bylo dobré ještě doplnit(GB v Jave + J2ME)
Toto byl pouze úvodní článek. Počítám, že by se někdy přístě zde měl objevit i „díl“ o konkrétních implementacích (např. tedy v Javě). Ale je to čistě výhledové, podle toho, jak se seběhnou myšlenky a podklady.
Reagoval na komentář od uživatele Jakub Kulhan :
Z tvého slovního projevu je jasné, že jsi ten článek psal sám. Těším se na tvoje další články a doufám že jich bude spousta :-)
Reagoval na komentář od uživatele Jakub Kulhan : Já tě přece z ničeho neobviňuju (to bych si bez důkazu nedovolil). Jen řikám, že můj první dojem takový byl a taky jsem napsal proč. Reaguješ na věty vytržené z kontextu a to nepůsobí dobře. Nemáš důvod se obhajovat.
Ale jak už psal Architekt. Těším se na další články.
31. 8. 2008
Ano, menší prodlevy (není potřeba provádět sběr mrtvých objektů) a také menší paměťová náročnost (není potřebu si udržovat redundantní informace o alokované paměti).
doporucoval bych dostudovat implementacni detaily jednotlivych strategii prace s pameti, pripadne zkusit si je naimplementovat. srovnani manualni a automaticke spravy pameti neni ve skutecnosti tak jednoznacne. predne i operace malloc/free si ukladaji redundantni informace, napr. velikost bloku, seznamy uvolnenych objektu, atp. k tomu, velikosti jednotlivych bloku se pri alokaci zarovnavaji na 4-8bytu. navic operace malloc/free jsou proti GC kodu obvykle slozitejsi, coz muze zpusobovat vcelku nevitane zpomaleni. pak jde o to, jestli riskovat pomalejsi kod s manualnim praci s pameti nebo riskovat urcitou prodlevu pri sberu.
7. 1. 2009
Největší nevýhodou GC je to, že tento systém vůbec nepočítá s objekty. A právě začleněním objektů a jejich správu v GC se ukáže GC ve velmy špatném světle. Příkladem je Java a její nezčetné problémy zejména s finalizací. Typickým příkladem je například práce se soubory, kdy soubor uzavíráme tak, že jej opustíme. Pakliže byl zároveň soubor zamčený, může dojít k uváznutí, protože nové otevření souboru způsobí čekání na zámek, který se ale neuvolní, dokud nedojde ke collectingu... a k němu nemusí dojít nikdy.
Pokud si tedy píšete aplikaci na zpestření webové stránky Javou, nebo .netem, pak GC je pro začínající programátory možná dobrou alternativou. Ale v okamžiku, kdy má váš systém spolupracovat s nejakými externími zdroji, získávat a opouštět je, pak je GC naprosto k ničemu a stejně nakonec skončíte s manuálním uvolňováním (a díky neexistenci destruktorů v Javě až ke způsobu práce jako v Ansi C).
http://bredy.novacisko.cz