Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-10 Tema obsahu Zdeněk Troníček
Ahoj, k situaci PROBLEM od verze 1.5 dojit nemuze. Drive to mozne bylo, ale od 1.5 ma Java vylepseny pametovy model a ten zarucuje, ze v okamziku, kdy new vrati referenci, je objekt inicializovany (tj. probehl jeho konstruktor). Je vsak mozne neco jineho (mapa je sdilena promenna typu Map):

Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-10 Tema obsahu Zdeněk Troníček
Cituji z emailu od Lukas Barton [EMAIL PROTECTED]: Zdeněk Troníček wrote: Ahoj, k situaci PROBLEM od verze 1.5 dojit nemuze. Drive to mozne bylo, ale od 1.5 ma Java vylepseny pametovy model a ten zarucuje, ze v okamziku, kdy new vrati referenci, je objekt inicializovany (tj. probehl

Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-10 Tema obsahu Zdeněk Troníček
Cituji z emailu od Lukas Barton [EMAIL PROTECTED]: Zdeněk Troníček wrote: Ano, muze dochazet k prehozeni instrukci (muze to provest compilator, JIT, nebo to muze byt dusledek cache). Toto je ovsem vyjimka. Viz specifikace na str. 322: Just before a reference to the newly created

Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-10 Tema obsahu Zdeněk Troníček
Cituji z emailu od Lukas Barton [EMAIL PROTECTED]: Zdeněk Troníček wrote: To samozrejme platit musi - spravne receno, JIT si muze instrukce prehazet jak chce, pokud to neovlivni beh programu. Specifikace nerika, jak ma fungovat JIT. Rika jak mate jeho fungovani vnimat. Ale nikde se tam

Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-10 Tema obsahu Zdeněk Troníček
Cituji z emailu od Lukas Barton [EMAIL PROTECTED]: Zdeněk Troníček wrote: Tak jeste jednou: Trida p = new Trida(); V okamziku kdy new vrati odkaz na nove vytvoreny objekt, je tento objekt inicializovan (zajistuje to tzv. Initialization safety). To implikuje napr. to, ze finalni

RE: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-10 Tema obsahu Zdeněk Troníček
Cituji z emailu od Lukáš Marek [EMAIL PROTECTED]: Hmm. Hezke. To ovsem neni ani nahodou odpoved na moji otazku Jak muze vlakno ziskat odkaz na objekt vytvareny v jinem vlakne drive nez dojde k navratu z new. treba tak, ze v konstruktoru preda odkaz na this nekam jinam. (viz:

Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-10 Tema obsahu Zdeněk Troníček
specifikovano, jak to klient vidi. Nikoliv jak je to na konkretnim databazovem serveru implementovane. Ten si muze delat jakakoliv kouzla (a delat je bude aby dosahl lepsiho vykonu). Zdeněk Troníček wrote: Toto v Jave neni mozne. K alokaci pameti v JVM slouzi instrukce new, jejimz parametrem

Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-11 Tema obsahu Zdeněk Troníček
jasne, ze ten Vas pseudokod vyse je nerealny. Z.T. -- Zdenek Tronicek Department of Computer Science and Engineering Prague tel: +420 2 2435 7410 http://cs.felk.cvut.cz/~tronicek Quoting Lukas Barton [EMAIL PROTECTED]: Zdeněk Troníček wrote: Ja jsem ten kod uvadel proto, aby

Re: hibernate - recyklacia komponentneho primary key

2010-04-29 Tema obsahu Zdeněk Troníček
Dobry den, ano, takto to lze. Z.T. -- Zdenek Tronicek FIT CTU in Prague Dusan Zatkovsky napsal(a): Ahoj. Laborujem trosku s Hibernate a $SUBJ. V principe mi ide o toto: Mam niekolko tabuliek, ktorych primarnym klucom su vzdy 2 stlpce ( int, int ) a tymito integermi su prepojene. K tomu

CZJUG webinar na tema JSF

2010-05-05 Tema obsahu Zdeněk Troníček
Zajímají vás webové technologie? Chcete vědět, co je nového v Java Server Faces 2.0? Pak neváhejte a přihlaste se na první CZJUG webinář. Během 1,5 hodiny projdeme základní vlastnosti JSF a napíšeme jednoduchou aplikaci. A vy můžete být přitom, aniž byste někam jezdili. Zúčastnit webináře se totiž

Re: JPA/Hibernate remove entity a cizi klice

2010-06-30 Tema obsahu Zdeněk Troníček
Ahoj, lepsi nez em.flush() je chytat vyjimku po skonceni transakce. Bude to RollbackException. Napr.: try { em.getTransaction().begin(); Programmer p = em.find(Programmer.class, 1L); em.remove(p); em.getTransaction().commit(); } catch (RollbackException e)

CZJUG webinar na tema EJB a JPA

2010-07-16 Tema obsahu Zdeněk Troníček
Máte pocit, že Enterprise Java Beans je složitá technologie a že ke zvládnutí Java Persistence API je potřeba několik měsíců? Pak neváhejte a přihlaste se na druhý CZJUG webinář. Během 1,5 hodiny projdeme nejdůležitější vlastnosti těchto technologií a napíšeme jednoduchou aplikaci. A vy můžete být

Re: JSF lifecycle nejasnost

2010-07-19 Tema obsahu Zdeněk Troníček
Dobry den, predavat data z formulare pres GET neni dobry napad. GET by mel byt bez vedlejsiho efektu. Z toho, co pisete, bohuzel nevim, proc to delate. Mozna by se Vam vsak mohlo hodit f:event type=preValidate Z.T. -- Zdenek Tronicek FIT CTU in Prague Petr Prikryl napsal(a): Dobry

Re: Hibernate, jpa, sql command

2010-07-20 Tema obsahu Zdeněk Troníček
Ahoj, jak ten dotaz vypada? Nejde pouzit em.createNativeQuery(...)? Z. -- Zdenek Tronicek FIT CTU in Prague Dusan Msk napsal(a): Ahoj. Potreboval by som exec-nut cisty sql command pomocou hibernate. Bolo mi odporucene na to pouzit Session, co je zaroven kamen urazu. Vyrobil som EJB

Re: rychlost instanceof x interface x key/ID

2010-07-31 Tema obsahu Zdeněk Troníček
Dobry den, tohle je typicke pro privandrovalce z jazyka C (nic ve zlem, C je super jazyk). Tito programatori chteji u kazdeho prikazu vedet, jak se prelozi a jak se provadi (to samo o sobe samozrejme neni spatne, spis naopak) a pak se snazi pouzivat ty nejefektivnejsi konstrukce. Jakkoliv se to

Re: rychlost instanceof x interface x key/ID

2010-08-01 Tema obsahu Zdeněk Troníček
Oto Buchta napsal(a): b) trošku mi to připomíná schizofrenii jednoho známého webdesignéra. Dostal za úkol vyvinout velkou JavaScriptovou aplikaci. Vyvíjel ji na MACovi a safari a za pár měsíců byla téměř hotová. Chybělo posledních pár bezvýznamných nedodělků, když dostal za úkol rozchodit

Re: rychlost instanceof x interface x key/ID

2010-08-01 Tema obsahu Zdeněk Troníček
radeji), ze to jvm vykona mnohem rychleji. Jednou jsem si chtel ten druhy argument overit a vysledkem byl muj prispevek do konference tak tedy, proto jsem se na tohle ptal. Zdeněk Troníček writes: Dobry den, tohle je typicke pro privandrovalce z jazyka C (nic ve zlem, C je super jazyk

Re: rychlost instanceof x interface x key/ID

2010-08-02 Tema obsahu Zdeněk Troníček
Oto Buchta napsal(a): We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Prestoze je tento citat o necem malinko jinem, presto s nim nesouhlasim. Presto si samozrejme mnoho z vas spolu s Cimrmanem rekne: Je mozne, ze se vam

Re: rychlost instanceof x interface x key/ID

2010-08-02 Tema obsahu Zdeněk Troníček
Oto Buchta napsal(a): Tato debata presne ukazala, ze lide se deli na profileristy a premyslivce (pozor, ani jedno neni mysleno hanlive!). Typicky profilerista odpovi o zbytecnosti male optimalizace, o dulezitosti zachovani citelnosti kodu, nutnosti overit i jinde (jine JVM, stroj, , GC ci

Re: rychlost instanceof x interface x key/ID

2010-08-03 Tema obsahu Zdeněk Troníček
Jak to Josh Bloch myslel nevim, ale ze muze byt rychlejsi nez me neprekvapuje. Pri pouziti procesor muze vyhodnocovat operandy paralelne, zatimco u musi pockat, jak dopadne vyhodnoceni prvniho operandu. Takze pokud jsou operandy nezavisle a procesor vicejadrovy, tak to bude mozna i docela

Re: rychlost instanceof x interface x key/ID

2010-08-03 Tema obsahu Zdeněk Troníček
nutne , aby sa druhy vyraz dal vobec vyhodnotit : person!=null person.isValid() R Zdeněk Troníček wrote: Jak to Josh Bloch myslel nevim, ale ze muze byt rychlejsi nez me neprekvapuje. Pri pouziti procesor muze vyhodnocovat operandy paralelne, zatimco u musi pockat, jak dopadne

Re: rychlost instanceof x interface x key/ID

2010-08-03 Tema obsahu Zdeněk Troníček
JIT to muze poznat i kdyz operand obsahuje volani metody, protoze bezne provadi method inlining (pri nem je volani metody nahrazeno jejim telem). Inlining se nedela vzdy (zalezi to na typu a velikosti metody a konfiguraci JVM), nicmene ve spouste pripadu ano. V kombinaci s operandy, ktere testuji

RE: rychlost instanceof x interface x key/ID

2010-08-03 Tema obsahu Zdeněk Troníček
Myslel jsem v tom uz mame jasno: takovouto optimalizaci je lepsi nechat na prekladaci. K @Immutable: tuto anotaci zminuje jiz Brian Goetz a spol. v Java Concurrency in Practice z roku 2006. Jeji pouziti ma vsak i uskali: napr. String neni ciste immutable, protoze ma atribut, ve kterem si uklada

Re: rychlost instanceof x interface x key/ID

2010-08-04 Tema obsahu Zdeněk Troníček
Obcas pouzivam paralelizaci, kdyz chci vyuzit muj dvoujadrovy procesor: ExecutorService pool = Executors.newFixedThreadPool(Config.poolSize); pool.submit(new IssueFilterTask(0, 4)); pool.submit(new IssueFilterTask(5, 9)); pool.shutdown(); Jinak souhlas s ConcurrentHashMap. Ta

Re: rychlost instanceof x interface x key/ID

2010-08-04 Tema obsahu Zdeněk Troníček
V navaznosti na diskuzi prochazet pole odzadu ci odpredu si dovoluji nabidnout skript pro refaktorovaci framework RefactoringNG, pomoci nehoz muzete snadno zmenit for (int i = p.length - 1; i = 0; i--) { ... } na for (int i = 0; i p.length; i++) { ... } Je to trosku delsi, nicmene verim, ze

Re: rychlost instanceof x interface x key/ID

2010-08-04 Tema obsahu Zdeněk Troníček
Ladislav Thon napsal(a): Použil někdy někdo z Vás balík java.util.concurrent? A pokud ano, používáte to běžně? Jasně. Bez ConcurrentHashMap (proboha, proč si každý projekt musí psát vlastní ConcurrentHashSet?! To těch dvacet řádek nemohli dát k tomu?!), Atomic* a Executor* si nedovedu

Re: rychlost instanceof x interface x key/ID

2010-08-04 Tema obsahu Zdeněk Troníček
Na detailech urcite zalezi. A na kontextu take. I kdyz JVM implementuje synchronizaci vzdy stejne, napr. pomoci instrukce Compare-And-Swap (CAS), je zde prostor pro optimalizaci: JVM si napr. muze vsimnout, ze zamek je pouzivan jen jednim vlaknem a zcela jej eliminovat. Nebo muze sdruzit vice

Re: Rozdily v Jave na Windows a Linuxu

2010-08-10 Tema obsahu Zdeněk Troníček
Ahoj, vzdyt tam mas pretypovani na List?. Tak si nejsem jisty, jak jsi to myslel. Jinak cyklus for (Employee e : list) { ... } bude pred prekladem (ve fazi desuggaring) nahrazen cyklem for (IteratorEmployee i = list.iterator(); i.hasNext(); ) { Employee e = i.next(); ... } Tedy cyklus

Re: Rozdily v Jave na Windows a Linuxu

2010-08-10 Tema obsahu Zdeněk Troníček
linuxu neprojde, kdyz se typove parametry odmazavaji. Jo to pripadne JRE bug? 2010/8/10 Zdeněk Troníček troni...@fit.cvut.cz: Ahoj, vzdyt tam mas pretypovani na List?. Tak si nejsem jisty, jak jsi to myslel. Jinak cyklus for (Employee e : list) {  ... } bude pred prekladem (ve fazi

Re: Rozdily v Jave na Windows a Linuxu

2010-08-11 Tema obsahu Zdeněk Troníček
Tak jsem to zkusil na Solarisu a checkcast tam je take. Pri podrobnejsim zkoumani jsem prisel na to, ze kdyz to pod Windows prekompiluju pomoci build v NetBeans (vysledkem je jar), tak v jaru se checkcast objevi. Nicmene v adresari build\classes je class soubor bez instrukce checkcast. Takze moje

Re: Socket - specifikace portu

2010-08-26 Tema obsahu Zdeněk Troníček
Cislo portu prideluje operacni system a vetsinou to dela nahodne. Jinak trida ServerSocket ma metodu setSocketFactory, kterou se nastavuje SocketImplFactory. Zkousel jsi naimplementovat vlastni SocketImplFactory? Z. -- Zdenek Tronicek FIT CTU in Prague el.wond...@centrum.cz napsal(a): Ahoj,

Re: Hibernate, postgresql a foreign key constraint violation

2010-09-17 Tema obsahu Zdeněk Troníček
V ramci jedne transakce muzete vkladat (em.persist) entity v libovolnem poradi. Framework by mel zavislosti mezi entitami poznat a odpovidajici INSERTy provest ve spravnem poradi, prip. si poradit jinak. Protoze mezi entitami mohou byt cyklicke zavislosti, musi framework zavislosti nejak resit.

CZJUG: prednaska o agilnich metodach 18.10.

2010-10-11 Tema obsahu Zdeněk Troníček
Dobrý den, rád bych vás tímto pozval na přednášku CZJUG o agilních metodách. Přednáška proběhne 18.10. na Fakultě informačních technologií ČVUT v Praze (Nová budova Masarykovy koleje, Kolejní 550/2) v místnosti MK-103 (v suterénu). Začátek v 18 hodin. Více informací níže. Z.T. -- Zdenek

Re: Ruční nastavení normálně generované ho ID v HIbernate

2010-10-18 Tema obsahu Zdeněk Troníček
Takhle to funguje pro strategy s hodnotou GenerationType.AUTO. Tj. pokud id prideluje framework (Hibernate, EclipseLink,...), lze mu id nadiktovat. Pak je jeste nutne upravit hodnoty v tabulce SEQUENCE, protoze jinak mohou nasledujici em.persist(...) skoncit chybou duplicitni hodnota primarniho

Re: podivne se chovajici GC

2010-11-09 Tema obsahu Zdeněk Troníček
Ahoj, vypadá to, že hned po GC-- následuje vždy Full GC. I časy souhlasí, takže to vypadá, že GC-- by mohla být hláška nepodařilo se mi uvolnit pamět pomocí Minor GC, spouštím Full GC. Kde došlo ke snížení na 8 GB? Já tam vidím pořád 12 GB: 2010-11-09T14:08:17.470+0100: 71707.559: [GC

Re: generika a '? extends Xxx'

2010-11-25 Tema obsahu Zdeněk Troníček
Konstrukci ? extends Neco bych nezavrhoval, protoze je užitečná pro parametry metody. Př.: metoda, která provede nějakou operaci se všemi prvky seznamu, v němž je každý prvek typu Number. void perform(List? extends Number p) { for (Number n : p) { process(n); } } void

Re: Thread safe webova aplikace, Tomcat 7

2010-11-28 Tema obsahu Zdeněk Troníček
Ahoj, vlákno by mělo rozhodovat o ukončení samo. Aplikace může např. nastavit příznak, vlákno jej bude periodicky testovat a při změně hodnoty skončí. Pokud by vlákno mohlo být blokované, lze použít interrupt(). Jinak z toho co píšeš se mi zdá, že backend by mohla být obyčejná javovská aplikace

Re: Thread safe webova aplikace, Tomcat 7

2010-11-29 Tema obsahu Zdeněk Troníček
A nešlo by v destroy nebo lépe v contextDestroyed počkat na konec vláken? Buď přes join nebo prostě jen nějakou dobu počkat (sleep) s tím, že vlákna skončí? Z. -- Zdenek Tronicek FIT CTU in Prague Vladislav Krejcirik napsal(a): To aby to byla webova aplikace byl pozadavek, bohuzel s tim nic

Re: Thread safe webova aplikace, Tomcat 7

2010-11-29 Tema obsahu Zdeněk Troníček
Vladislav Krejcirik napsal(a): Pres join by to jit melo, co myslite? Zkousim hledat v user guide tomcatu jestli neobsahuje podporu pro managing vlaken. Dne 29.11.2010 11:06, Zdeněk Troníček napsal(a): A nešlo by v destroy nebo lépe v contextDestroyed počkat na konec vláken? Buď přes join

Re: Thread safe webova aplikace, Tomcat 7

2010-11-29 Tema obsahu Zdeněk Troníček
Krejčiřík http://www.vkrejcirik.info Dne 29.11.2010 20:34, Zdeněk Troníček napsal(a): Nevím co přesně hledáte, ale v Javě není možné ukončit násilně vlákno, když nepočítám metodu stop, která je z dobrého důvodu deprecated. A i kdyby taková možnost byla, tak byste ji neměl používat ze stejného

Re: Jak informovat o nedostupne j2EE aplikaci?

2010-12-07 Tema obsahu Zdeněk Troníček
Ahoj, nevim jak Oracle AS, ale GlassFish umožňuje upgrade aplikace bez výpadku služby. Je však potřeba mít cluster. Tento upgrade se v dokumentaci jmenuje rolling upgrade a probíha zhruba takto: Vybereme jednu instanci, přestaneme na ni směřovat nové požadavky (tím, že upravíme konfiguraci load

[Fwd: Re: Skriptovani v Eclipse]

2011-01-20 Tema obsahu Zdeněk Troníček
Mail server z nějakého důvodu požral jednu moji odpověď. Z. -- Zdenek Tronicek FIT CTU in Prague --- Původní zpráva Předmět: Re: Skriptovani v Eclipse Od:Zdeněk Troníček troni...@fit.cvut.cz Datum: 20 Leden 2011, 13:04 Komu

Re: Skriptovani v Eclipse

2011-01-20 Tema obsahu Zdeněk Troníček
RefactoringNG zatím běží jen v NetBeans a bohužel není tak obecný jako Eclipse Monkey, protože je zaměřen jen na refactoring. Příklad použití (záměna Hashtable za ConcurrentHashMap) je zde: http://netbeans.dzone.com/refactoringng/bye-bye-hashtable Z. -- Zdenek Tronicek FIT CTU in Prague Filip

RE: Skriptovani v Eclipse

2011-01-20 Tema obsahu Zdeněk Troníček
Ten plugin se jmenuje Jackpot a skutečně teď trochu usnul. Z. -- Zdenek Tronicek FIT CTU in Prague Tomas Hubalek napsal(a): Asi je muj komentar trosku off topic, ale premyslim nad tim, jak asi vypada a jak je asi (z hlediska OOP) navrzeny projekt, ktery potrebuje mit skripty na refactoring.

RE: Skriptovani v Eclipse

2011-01-20 Tema obsahu Zdeněk Troníček
Proč? Pokud se bude projekt dále rozvíjet, tak testy smysl mají. Už jen pro to, aby člověk poznal, že přidáním něčeho nového nic starého nerozhodil. Já sám používám oba způsoby psaní testů: před napsáním kódu i po a nikdy jsem neměl pocit, že by byly zbytečné. Z. -- Zdenek Tronicek FIT CTU in

Re: Desetinná čísla

2011-02-08 Tema obsahu Zdeněk Troníček
Popis reprezentace desetinných čísel v češtině je zde: https://users.fit.cvut.cz/~tronicek/java/Ukazka.pdf Z.T. -- Zdenek Tronicek FIT CTU in Prague Michal Pavlasek napsal(a): pohybliva desatinna ciarka prinasa niekolko niekedy necakanych prekvapeni :) odporujucich sedliackemu rozumu,

Re: Co teď letí v Javě na web a verzování?

2011-02-08 Tema obsahu Zdeněk Troníček
Kdybyste se toho chtěli zbavit, tj. např. String s = new String( Daka hodnota stringu ); přepsat na String s = Daka hodnota stringu; lze to snadno provést v nástroji RefactoringNG domácí provenience. Příslušné pravidlo je toto: NewClass { null, ListTree { }, Identifier

Re: Co teď letí v Javě na web a verzování?

2011-02-08 Tema obsahu Zdeněk Troníček
Jazyk by měl být intuitivní, s tím souhlas. Nicméně pokud jde o optimalizaci řetězců, tak Java její používání nevyžaduje, ale nabízí. Pokud ji nechceš, používej new String(). Pokud by si Java optimalizaci řídila sama, tak by new String() mohlo vrátit stejnou hodnotu jako nějaké předchozí new

Re: Java parser generátor

2011-02-25 Tema obsahu Zdeněk Troníček
Dobrý den, mohl bych vědět, na co to používáte? Z. -- Zdenek Tronicek FIT CTU in Prague Dušan Kolář napsal(a): Zdravím konferenci, před lety jsem používal nástroj Spoon ( http://spoon.gforge.iniria.fr/ ) celkem úspěšně na změny ve zdrojácích, které se generovaly (ne zcela korektně) a

Re: Java parser generátor

2011-02-28 Tema obsahu Zdeněk Troníček
to na něčem vyzkoušet. Jenom mne napadlo, že by to mohlo řešit váš problém. Ale jestli se nepletu, autorem nebo spoluautorem je Zdeněk Troníček, který na váš dotaz také reagoval, ten na vaše otázky asi bude umět odpovědět lépe. Z toho, co jsem o tom zaznamenal – podpora pro typy tam je, ten

Re: Porovnání řetězců

2011-03-04 Tema obsahu Zdeněk Troníček
Nerad bych tady vyvolal nějakou flame war, ale ukazatelová aritmetika to podle mého názoru je. Např. v metodě writeToMem je p ukazatel (obsahuje adresu) a k tomuto ukazateli se přičítá 2, tj. sečte se ukazatel a int a výsledkem je ukazatel: static void writeToMem(Unsafe u, long p, byte[]

Re: Porovnání řetězců

2011-03-04 Tema obsahu Zdeněk Troníček
naimplementovano dle von Neumanna. A udelat to samozrejme lze. Proto je take Unsafe v sun.misc . Dne 4. března 2011 19:01 Zdeněk Troníček troni...@fit.cvut.cz napsal(a): Nerad bych tady vyvolal nějakou flame war, ale ukazatelová aritmetika to podle mého názoru je. Např. v metodě writeToMem je p ukazatel

Re: Integrace - Dynamic Recipient List Pattern

2011-03-25 Tema obsahu Zdeněk Troníček
Glassfish má konfigurační parametr Maximum Number of Unconsumed Messages, kterým lze počet uložených zpráv omezit. Je-li topic plný, odesílatel dostane výjimku. Z.T. -- Zdenek Tronicek FIT CTU in Prague Vlastimil Elias napsal(a): BTW tady se skrývá jedno provozní nebezpečí které není na

Re: assert vs. JUnit

2011-04-03 Tema obsahu Zdeněk Troníček
? 2011/4/1 Zdeněk Troníček troni...@fit.cvut.cz: Nejde ani tak o viditelnost metody, ale o to, zda je metoda součástí API. Klíčové slovo assert kontroluje podmínku, o které je programátor přesvědčen, že platí. Motivací pro používání assert je snaha dozvědět se co nejdříve o tom, že je něco

Re: assert vs. JUnit

2011-04-04 Tema obsahu Zdeněk Troníček
. 2011/4/3 Zdeněk Troníček troni...@fit.cvut.cz: Asi Ti moc nerozumím. To myslíš tak, že budeš na produkci testovat, zda nevoláš metodu se špatnými parametry a pokud ano, tak vyhodíš výjimku? To mi připadá na stejné úrovni jako chytání ArrayIndexOutOfBoundsException pro případ, že bychom použili

Re: Java fór

2011-04-11 Tema obsahu Zdeněk Troníček
Ahoj, automat by měl mít číst něco ze vstupu. Nechybí tam někde vstup? Z. -- Zdenek Tronicek FIT CTU in Prague Tomas Studva napsal(a): Dobry den, vedeli by ste si precitat nasledovny program. Nie je to priklad zo skoly ale z praxe. Implementacia stavoveho automatu, kod je stary 10 rokov a

Přednáška VIRTUALIZACE A CLOUD COMPUTING - 26.4. v NTK, Ballingův sál - Peter Kukol (předn. cyklus Informatické večery)

2011-04-23 Tema obsahu Zdeněk Troníček
Přeposílám pozvánku na přednášku. Z.T. -- Zdenek Tronicek FIT CTU in Prague Vážené kolegyně a kolegové, zvu Vás na další přednášku v rámci Přednáškového cyklu Informatické večery na téma: VIRTUALIZACE A CLOUD COMPUTING konanou v úterý, dne 26.4. tentokráte v NTK, v Ballingově sále(!!),

Re: javac vs. Eclipse - čísla řádků v .class u víceřádkových výrazů

2011-04-25 Tema obsahu Zdeněk Troníček
Patrně to byl bug, protože v JDK 1.6.0_23 ten příklad přeložit jde. Jinak spíš než o odvození typu jde o kompatibilitu dvou typů s ? na pozici typového parametru. Z. -- Zdenek Tronicek FIT CTU in Prague Ladislav Thon napsal(a): Já kupříkladu narazil na rozdíly v kompilaci při volání metody

Re: javac vs. Eclipse - čísla řádků v .class u víceřádkových výrazů

2011-04-25 Tema obsahu Zdeněk Troníček
Jakou máte verzi JDK? Mně to přeložit jde. Z. -- Zdenek Tronicek FIT CTU in Prague Martin Schayna napsal(a): Můžu odpovědět jen na tu poslední část: problém ve zmíněném příkladu nemá co dělat s použitým JRE. To je jen problém kompilátorů jak porozumí kódu a jaký vygenerují nízkoúrovňový

Re: Generické typy a .class - Cannot select from a type variable

2011-06-12 Tema obsahu Zdeněk Troníček
Ahoj, protože typový parametr není za běhu k dispozici. Při překladu jej překladač odstraní. Např. class BoxT { T t; Box(T t) { } } se přeloží jako class Box { Object t; Box(Object t) { } } Pokud potřebuješ v konstruktoru typový parameter, lze to udělat přes parametr typu Class:

Re: Generické typy a .class - Cannot select from a type variable

2011-06-13 Tema obsahu Zdeněk Troníček
Dobrý den, zpětná kompatibilita je limitující, ale bohužel to bez ní nejde. Pokud by nová verze nebyla kompatibilní s tou předchozí, šlo by vlastně o nový jazyk a to by Javě podle mého názoru spíš uškodilo. Na druhou stranu je ale pravda, že lpění na co nejvyšší kompatibilitě s předchozí verzí

Re: Co se stalo s BeansBinding?!

2011-06-16 Tema obsahu Zdeněk Troníček
Na některých školách prosazují pro úvodní kurzy Python, ale já se domnívám, že to, že v jazyku napíšete jednodušší Hello World a snadněji v něm inicializujete seznam, z něj ještě nedělá vhodnější jazyk pro výuku. Spíše než o jednoduchosti jazyka je to o úrovni abstrakce. Tj. jakou zvolit

Re: Jak uvidět celý stack trace vyjímky? Ve výpisu není vůbec můj kód

2011-07-07 Tema obsahu Zdeněk Troníček
Třída OpenComponentAction je docela krátká: 54 final class OpenComponentAction implements ActionListener { 55 private TopComponent component; 56 private final Map?,? map; 57 58 OpenComponentAction(TopComponent component) { 59 assert component != null;

Re: smerovanie javy 7,8

2011-07-14 Tema obsahu Zdeněk Troníček
Property tak jak jsou řešeny v projektu Lombok podle mého názoru do jazyka nepatří. Používají totiž anotace a anotace jsou v Javě prostředek pro specifikaci dodatečné informace o zdrojovém kódu. Proto by bylo divné, kdyby anotace měnily sémantiku zdrojového kódu. O jakém balastu to mluvíš?

Re: smerovanie javy 7,8

2011-07-14 Tema obsahu Zdeněk Troníček
Closures budou zpětně kompatibilní. Možná ne ze 100%, ale téměř jistě se to číslo bude 100 blížit. Z. -- Zdenek Tronicek FIT CTU in Prague x y napsal(a): ano ide o citatelnost(to som aj uviedol .. z dovodu sprehladnenia..) a to prispieva k rychlosti vyvoja, da sa to riesit urcite na urovni

Re: Hibernate - foreign ID versus

2011-07-15 Tema obsahu Zdeněk Troníček
Dobrý den, já na použití foreign ID nevidím nic špatného. Naproti tomu nadměrné používání asociací (OneToMany, ManyToOne,...) vede k problémům, protože je pak propojeno všechno se vším. A může se stát, že vyčtením jedné entity vyčtete půlku databáze. Tj. asociace ano, ale s mírou. Z.T. --

Re: smerovanie javy 7,8

2011-07-16 Tema obsahu Zdeněk Troníček
Jiří Hradil napsal(a): Jinak pokud bych mel definovat velky system, tak to pro me znamena jeho odpovednost a mnozstvi prace kterou poskytne a lidem usetri. Udaje jako pocet trid, pocet radku a mnozstvi dokumentace nepovazuji za rozhodujici. Maji jistou vypovidajici hodnotu, ale nelze je brat

Re: smerovanie javy 7,8

2011-07-17 Tema obsahu Zdeněk Troníček
Dobrý den, myslím, že při rozhodování, kterému jazyku či technologii se profesionálně věnovat, je dobré se podívat na počty pracovních míst, které jsou pro tento jazyk či technologii nabízeny. Viz např. http://regulargeek.com/2011/02/09/web-scripting-programming-language-job-trends-february-2011/

Re: smerovanie javy 7,8

2011-07-18 Tema obsahu Zdeněk Troníček
aplikacnich frameworku to plati mozna dvojnasob. Jirka hrozne flamuje, ale libi se mi to, protoze to nuti vsechny k zamysleni jestli prave onomu svatemu gralu nepodlehli ;-). 2011/7/17 Zdeněk Troníček troni...@fit.cvut.cz: Dobrý den, myslím, že při rozhodování, kterému jazyku či technologii se

Re: smerovanie javy 7,8

2011-07-18 Tema obsahu Zdeněk Troníček
na SVN, nebo tvrdit, ze psani jednotkovych testu nepotrebuji a nepretrzita integrace je blbost. Mozna mas z akademickeho prostredi jine zkusenosti? Diky, Jirka 2011/7/18 Zdeněk Troníček troni...@fit.cvut.cz: Jak jsi k tomu došel? Já osobně neznám ve svém okolí nikoho, kdo by si myslel, že

Re: smerovanie javy 7,8

2011-07-18 Tema obsahu Zdeněk Troníček
Tohle platí nejen v oblasti frameworků, ale třeba i pro vlastnosti jazyka. Do produkčního jazyka jako je Java by neměly být přidávány neprověřené konstrukce, protože to může napáchat více škody než užitku. Lepší je počkat, zda se tyto osvědčí jinde (např. v nějakých experimentálních jazycích) a

Re: Výčtový typ jako parametr abstraktní metody nelze zdědit

2011-08-22 Tema obsahu Zdeněk Troníček
Toto je důsledek toho, že String[] je potomkem Object[]. Kdyby to tak nebylo, nemohli bychom z metody vracející Object[] vrátit nic jiného než právě toto pole a do metody s parametrem typu Object[] bychom mohli předat pouze toto pole. A to by bylo dost omezující. Z. -- Zdenek Tronicek FIT CTU in

Re: JPA - pouze první commit se nepovede, ale neměl by se povést žádný

2011-09-05 Tema obsahu Zdeněk Troníček
Dobrý den, jakého typu je persistentní kontext? Jestliže TRANSACTION_SCOPED, tak na konci transakce (při prvním commitu) jsou všechny entity převedeny do stavu detached a při druhém commitu není v persistentním kontextu žádná entita a tudíž se do databáze nic nezapíše. Z.T. -- Zdenek Tronicek

Re: JPA - pouze první commit se nepovede, ale neměl by se povést žádný

2011-09-05 Tema obsahu Zdeněk Troníček
(žádné aplikační servery apod.), takže persitentní kontext bude zřejmě TRANSACTION_SCOPED. Nebo může být extended i v JSE? BTW: Je nějaký způsob jak zjistit v jakém ze stavů (new/transient, managed, detached, removed) se právě entita nachází? Děkuji Libor Dne 5. září 2011 9:54 Zdeněk

Re: Reference na Class s Generic - CacheString,String.class

2011-09-20 Tema obsahu Zdeněk Troníček
Dobrý den, kovariance a kontravariance s tímto nesouvisí (navíc Java kovariantní return má). Váš příklad IterableObject o = new ArrayListString(); nejde přeložit jednoduše z toho důvodu, že v Javě není IterableString potomkem IterableObject. A to z jednoduchého důvodu. Kdyby např. ListString

Re: Reference na Class s Generic - CacheString,String.class

2011-09-20 Tema obsahu Zdeněk Troníček
in Prague Dne 20. září 2011 8:02 Zdeněk Troníček troni...@fit.cvut.cz napsal(a): Dobrý den, kovariance a kontravariance s tímto nesouvisí (navíc Java kovariantní return má). Váš příklad IterableObject o = new ArrayListString(); nejde přeložit jednoduše z toho důvodu, že v Javě není

Re: Reference na Class s Generic - CacheString,String.class

2011-09-20 Tema obsahu Zdeněk Troníček
Ladislav Thon napsal(a): - V Javě je IterableString potomkem IterableObject protože je to v reálu ten samej objekt - pouze překladač nás může chránit tak jako máte ve 2 příkladě.. (to samé pro List) IMHO nejlepší je dívat se na parametrizované třídy jako na funkce, které vytváří normální

Re: Reference na Class s Generic - CacheString,String.class

2011-09-20 Tema obsahu Zdeněk Troníček
Petr Balat napsal(a): Nicméně myslím si že je důležitější vědět jak se generiky mají v plném kontextu, takže i vlastnosti jvm, proto ten komentář. Aby se začátečník nespletl např. při kontrole instanceof apod. kde ten rozdíl mezi runtime a kompilaci je potřeba znát. Pokud v Javě použijete

Re: Reference na Class s Generic - CacheString,String.class

2011-09-20 Tema obsahu Zdeněk Troníček
kontrola pro další část kódu užitečná. //v .net by to za runtime spadlo Petr Dne 20. září 2011 15:15 Zdeněk Troníček troni...@fit.cvut.cz napsal(a): Ladislav Thon napsal(a): - V Javě je IterableString potomkem IterableObject protože je to v reálu ten samej objekt - pouze překladač nás může

Re: Reference na Class s Generic - CacheString,String.class

2011-09-20 Tema obsahu Zdeněk Troníček
:-) Petr Dne 20. září 2011 23:41 Zdeněk Troníček troni...@fit.cvut.cz napsal(a): Podle mého názoru jsou generické typy v .NET trochu lepší. Hlavní argument je ten, že odmazaní typového parametru vede k tomu, že jej nelze použít např. za new nebo instanceof. A to většina programátorů

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Zdeněk Troníček
AspectJ sice zvládne i privátní metody, ale neumí měnit třídy z balíku java. Z.T. -- Zdenek Tronicek FIT CTU in Prague Michal Eibl napsal(a): Ano, bylo mysleno mit hlidanou finalize(). AspectJ by nemel mit problem nejen s protected ale ani s private. M. On 22.9.2011 9:16, Vaclav

[Fwd: [vsichni-l] Informatické večery na FIT ČVUT v Praze]

2011-09-29 Tema obsahu Zdeněk Troníček
Vážené kolegyně a kolegové, dovolte mi pozvat Vás na úvodní přednášku z cyklu Informatické večery na FIT ČVUT v Praze. Tradiční cyklus zahajuje v tomto semestru Mgr. Jiří Donát Ph.D. přednáškou na téma ** ** *Budoucí podoba IT průmyslu v době cloud computing* Přednáška se koná ve středu 5.

Ucebnice Javy zdarma

2011-10-01 Tema obsahu Zdeněk Troníček
Dobrý den, začínáte s programováním a zajímá vás Java? Pak je tu pro vás zdarma učebnice tohoto programovacího jazyka. Více na http://java.cz/article/ucebnicejazykajava. Z.T. -- Zdenek Tronicek FIT CTU in Prague

[Fwd: [zamestnanci-l] Informatický večer na FIT ČVUT v Praze - představení projektů Kari a Piictu]

2011-11-15 Tema obsahu Zdeněk Troníček
Vážení přátelé, dovolte mi, abych Vás informovala o další přednášce z cyklu Informatické večery na FIT ČVUT v Praze a to již zítra, *16.11.2011 od 18:00 hodin*. V rámci cyklu Informatických večerů na FIT ČVUT v Praze se tuto středu představí webový startup Kari http://kari-vydaje.cz.

Re: konzultace/školení

2012-02-28 Tema obsahu Zdeněk Troníček
Dobrý den, toto bohužel není moje parketa. Kdybyste chtěli např. JavaServer Faces, Java Persistence API a Glassfish, tak ano. S pozdravem, Z.T. -- Zdenek Tronicek FIT CTU in Prague Petr Kabátek napsal(a): Dobrý den. Chtěl bych se zeptat jestli by byla možná konzultace(školení) v oblasti

Re: Jak na vlákna v J2EE

2012-04-13 Tema obsahu Zdeněk Troníček
Ahoj, dal bych prednost asynchronnim metodam v EJB 3.1. Z. -- Zdenek Tronicek FIT CTU in Prague Petr Franta napsal(a): Chtěl jsem se zeptat na váš názor nebo zkušenost s prací ve vláknech J2EE aplikací? Četl jsem doporučení, že by se vlákna neměla v J2EE vytvářet resp., že jsou

Re: java.lang.OutOfMemoryError: unable to create new native thread

2012-04-13 Tema obsahu Zdeněk Troníček
Ahoj, pamet i celkovy pocet vlaken se mi zdaji v poradku. Podival bych se na pocet otevrenych souboru. Nejsou tam nejake pracovni soubory? Z. -- Zdenek Tronicek FIT CTU in Prague Jaroslav Hurdes napsal(a): To je v pořádku, nepsal jsem, že daná aplikace je jediná na PC, Ve skutečnosti je tam

Re: Potřebují být synchronizované jednořádkové gettery/settery?

2012-06-13 Tema obsahu Zdeněk Troníček
Dobry den, kdyz jedno vlakno priradi do volatile promenne a a druhe vlakno do volatile promenne f, tak se prirazeni take nevykonaji paralelne, protoze pristupy do pameti se (vetsinou) serializuji. Navic nam je jedno, jak se to vykona. Dulezity (z hlediska ekvivalence) je vysledek. A ten je v obou

Re: pripojenie na DB a noSQL DB REDIS

2013-03-24 Tema obsahu Zdeněk Troníček
Dobry den, redisTemplate.getConnectionFactory().getConnection().openPipeline(); ... redisTemplate.getConnectionFactory().getConnection().closePipeline(); Provadite openPipeline() a closePipeline() nad stejnym Connection? Z.T. -- Zdenek Tronicek FIT CTU in Prague Ivan Polak napsal(a):