TOMÁŠ HUBÁLEK BLOG: BAVTE SE PŘIMĚŘENĚ…

Java/AOP: Porovnání dvou přístupů k aspektově orientovanému programování, AspectJ vs. AspectWerkz

Chtěl bych vyzkoušet aspektově orientované programování a proto jsem hledal srovnání. Našel jsem následující…

Read the rest of this entry »

Java/Struts: Struts Layout – docela zajímavá sada tagů pro Struts aplikace

Docela zajímavá sada doplňujících tagů pro Struts applikace je Struts Layout. Zatím jsem to nezkoušel použít, ale vypadá to zajímavě. Jediné, co mi není jasné je licence. Nikde jsem ji na první pohled nenašel.

Read the rest of this entry »

Java/Hibernate: Chybí vám XDoclet podpora pro named sql queries?

Dnes jsem s překvapením zjistil že jinak skvělý XDoclet nepodporuje Pojmenované SQL dotazy (Named SQL Queries). Naštěstí je tu řešení popsané na stránkách XContent…

Read the rest of this entry »

Množící se parametry metod (Change Method Signature Hell)

V aplikaci, na které teď pracuju, se mi teď začaly množit parametry filtračních metod (metoda typu vraťMiZbožíNaZákladěPodmínek(filter1, filter2, …)). Jak se návrh aplikace mění, postupně filtrů a upřesňujících podmínek přibývá. Z počátku se to dalo vydržet, hlavně díky funkci Eclipse, která se jmenuje Change Method Signature a přidání parametrů bylo naprosto v pohodě 🙂 Bohužel […]

Read the rest of this entry »

Memory leaky v Javě

Pár zajímavých linků týkajících se hledání memory leaks v Javě. V podstatě jde o to, že když spustíte Javu s parametreme -Xrunhprof a nějakými dalšími parametry, tak pak můžete získat výpis aktuálního stavu JVM. Když hledáte instance tříd, jež nejsou uvolňovány garbage collectorem, je to k nezaplacení…

Read the rest of this entry »

Vyjímky v části finally

Pozor na vyhazování vyjímek v Javě v části finally. Pokud vyhodíte vyjímku v části finally, může to překrýt skutečnou příčinu problému. Příklad class ExceptionTest { static class Ex0 extends Exception {} static class Ex1 extends Exception {} static class Ex2 extends Exception {} public static void main(String args[]) throws Exception { try { throw new […]

Read the rest of this entry »