Java versus C

Položili jste si někdy otázku, jak by dopadlo výkonové srovnání Javy a C? V tomto krátkém článku si jedno výkonové srovnání ukážeme. Nepůjde však o komplexní srovnání Javy a C, protože budeme testovat jen jednu funkci: výpočet obsahu kruhu. V Javě bude obsah kruhu počítat metoda obsah: public static double obsah(double r) { return 3.141592 […]

Vyhodnocení iBatis 3 Workshopu

Tento týden proběhl workshop na téma iBatis 3 v Národní technické knihovně. Na workshopu jsem vyhlásil soutěž o licenci vývojového prostředí IntelliJ Idea 9 – Ultimate Edition a v tomto příspěvku najdou soutěžící jak moji verzi řešení příkladů, tak i výsledné vyhodnocení. Kompletní řešení všech testů, které jsme v průběhu workshopu probírali najdete v GitHub […]

SpringSource portfolio

SpringSource je v současnosti jedním z největších dodavatelů webových technologií a dá se očekávat, že se tento fakt do budoucna nezmění. Ačkoliv se tato firma v podstatě zrodila z nápadu jednoho člověka (Rob Johnson) a jedné technologie (Spring) její působnost se doslova ze dne na den rozrostla na mnoho dalších souvisejících technologií….

Ostře sledovaná okna

K napsání tohoto článku mě inspiroval Ondra Medek svými maily v javovské konferenci v lednu 2010, v nichž se podivoval nad tím, že Java automaticky neuklízí zavřená okna. Pokud okno nemá nastaveno DISPOSE_ON_CLOSE, je při zavření pouze schováno a nadále zabírá paměť. K jeho dealokaci dojde až při zavolání metody dispose(). V tomto článku si […]

Aspectj jednoduchý performance monitor

V poslední době jsem se začal věnovat aspect oriented programming (AOP) a aspectj. Velmi mě překvapilo jak elegantně se pomocí AOP dá řešit určité problémy a měření výkonu a času strávené voláním metod patří do této kategorie. Před tím, než budete pokračovat v čtení doporučuji začít krátkým tutoriálem: http://www.eclipse.org/aspectj/doc/next/progguide/starting-aspectj.html, kde jsou vysvětleny základní pojmy. Koho […]

Integrace Spring, DWR a jQuery

Oblíbená trojkombinace technologií v podobě aplikačního rámce Spring, DWR a jQuery nám umožňuje Javascriptem volat metody servisních tříd spravovaných Springem. To je poměrně efektivnější přístup než příprava podobných řešení přímo v duchu MVC. Ve Springu 3.0. je však nově implementována zjednodušená podpora pro Ajax v podobě mvc-ajax modulu,…

Testování webových služeb

Aplikace řadu funkcí a dat publikuje přes webové služby. Je to rozhraní naší aplikace, na které se většinou pojí aplikace třetích stran, a proto je žádoucí mít aspoň nějakou jistotu, že nám rozhraní přes webové služby funguje. Webové služby jsou generovány dynamicky pomocí Apache CXF (pozn.: s tímto přístupem se neztotožňuji) a není výjimkou,…

Verzování datového modelu a LiquiBase

Přidávání tabulek, sloupců, integritních omezení, přejmenovávání a štěpení tabulek, konfigurace vývojového, testovacího a produkčního prostředí… Je mnoho požadavků, které mají vliv na podobu datového modelu. V tomto blogu zkusím popsat běžné činnosti týkající se správy relačního datového modelu a stručně představit nástroj LiquiBase. internetové odkazy: http://tom2ee-cs.blogspot.com/2010/01/verzovani-datoveho-modelu-liquibase.html

Ukazatelová aritmetika

V tomto krátkém článku si ukážeme, že i v Javě (přesněji Sun JDK) můžeme používat ukazatelovou aritmetiku. Nehledejte v tom však něco praktického. Jde spíše o exkurzi do méně známých končin JDK. Celé kouzlo je schováno ve tříde sun.misc.Unsafe. Tato třída umožňuje např. přímý přístup do paměti, atomické operace s pamětí (Compare and Swap), kopírování […]

Generování class diagramů

Class diagramy dnes umí vygenerovat mnoho nástrojů, ale přesto jsme raději nakonec použili vlastní řešení pro generování class diagramů. Mnohdy nám přišla nedostatečná kvalita vygenerovaných diagramů, jindy zase bylo málo možností konfigurace generování a nakonec se ukázalo, že bychom rádi celý proces generování class diagramů zautomatizovali,…