Portál AbcLinuxu, 24. října 2025 07:36
Ad GC, myslim ze soucasny je ve vlastnim threadu a nezpusobuje zamrzani.Defaultní GC je pořád jednovláknový Stop The World. Ale můžu si vybrat i paralelizovanou variantu, a dokonce i variantu, která ostatní vlákna neblokuje. Tedy na víceprocesorovém stroji, mám pocit, že jeden procesor si v takovém případě vlákno GC uzurpuje pro sebe
Jinak třeba RScheme by mělo mít deteministický GC úplně - nějak mi není jasné, jak to dělají, ale prý to nějak funguje.
To jako JVM umí tech algoritmů několik a při startu se to dá opšnou nastavit? Já žiju v tom, že je tam jenom stop-the-world mark'n'sweep.Přesně tak. Teda ne úplně přesně, ony ty algoritmy jsou v podstatě pořád stejné, akorát si můžeš vybrat, jestli chceš jedno- nebo vícevláknový a blokující nebo neblokující ostatní vlákna. Jinak GC je generační, pro první generaci se používá něco na způsob kopírovacího algoritmu, pro druhou mark and sweep. No a aby toho nebylo málo, tak teď vyvíjejí ještě úplně jiný (G1).
Ono udělat paralelní GC (natož pak realitmový) asi nebude žádná prdel.No to není. On i ten "neblokující" algoritmus na dvě krátké chvilky všechna ostatní vlákna zablokuje
A už se mi jednou stalo, že kvůli nějaké chybě v jeho implementaci JVMko spadlo.
Jak to řeší v realtime Javě, tak to už vůbec netuším.
Hm, a pro .NET je tech firem asi 20, co vyviji takoveto komponenty (co znam ja....),takze je to mozna opravdu spis o nevhodnosti javy pro desktop app....Je to především tím, že .NET je v současné době primárním prostředím pro psaní Windows aplikací. Což má vliv jak nepřímý (tj. firmy dělají komponenty), tak přímý (tj. Microsoft si s tím dáva opravdu velkou práci - je to důležitější než celý kernel Windows a Office dohromady).
podpora skinovani (pro vsechny komponenty od devexpress) velice snadno zmenite vzhled cele aplikace moderni vzhled - gradient prechodyAno, toto je opravdu "strašně důležité". Jestli by nebylo lepší se zabývat funkční stránkou aplikace, než tím, že si potencionální uživatel bude moci změnit skin v aplikaci. Nedalo mi to, ale musel jsem si rýpnout. Povšechně v Javě mě chybí (i když teď už sem v ní nic desktopového nedělal, takže nevím kam se hnul vývoj) nějaké rozumné swing komponenty s databázovým bindingem - svého času byly relativně rozumné součástí borlandího JBuilderu.
(i kdyz na vzhledu app taky zalezi, podivejte treba na iPhone manii), jenze u tech komponent jde o vice veci (treba ten binding, ktery zminujete je u devexpress docela promakany, dale treba nastaveni masky editoru, podpora regexu, je toho opravdu strasne moc, co ty komponenty umi), ktere vyvoj app pote strasne zjednodusuji a ulehcuji...validace napr.. Jasne, vsechno napisu i v jave, ale takovou typickou kancl app. s napojenim na DB napisu proste v .NET 2x,3x (hruby odhad, prosim nekamenovat!!!) rychleji (a tudiz levneji), mam ji driv nez konkurence treba (coz muze rozhodovat o uspechu)
hadat se nechci, spis jen se treba dovedet, ze java je v tomto dal, nez si myslim a nez jsem objevil
Zakladnim problemem Swingu je jeho slozitost. I primitivni JButton ma stovky metod.Na tom nesejde, SWING je taková knihovna, ze které si člověk vyzobává to, co zrovna potřebuje. To že má tlačítko x metod, nevadí. Nejjednodušší aplikaci prostě začneš s jedním tlačítkem, textovým polem, metodami getText(), setText() a jednou událostí. S těmi správci rozvržení je to trochu pravda, ale pokud člověk používá NetBeans, tak se s tím velmi rychle vyrovná. Pokud jde o nevýhody Swingu, tak vidím dvě: dost komponent člověk musí suplovat knihovnami třetích stran (třeba open source SwingX) a to, že pod Windows vypadá nativně, zato v Linuxu je to pořád dost mizerné, zvlášť v KDE. Ale vynahradit se to dá look&feely, takže ty aplikace pak vypadají dobře, jen trochu jinak.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.