Dnes se mi podařilo vychytat velmi dobré přednášky, takže jsem si po včerejším dm Serveru rozhodně spravil chuť. První dnešní přednášky se týkala Groovy a především novinek ve verzi 1.6. Zprvu se zdálo, že Guillame pojede pouze po povrchu Groovy, ale brzy se přednáška rozjela, takže si z ní člověk nakonec odnesl opravdu hodně. Přednáška stavěla na publikovaném článku o Grovy 1.6 na InfoQ. Groovy by ve verzi 1.6 mělo být výrazně rychlejší (různé micro benchmarky ukazují zlepšení výkonnosti od 150% do 430%), díky hotspotu dle Guillama dokonce předběhnou některé jiné dynamické jazyky mimo JVM platformu (konkrétně zmiňoval Ruby). Groovy běží bez problémů na GAP – dokonce je tam k vyzkoušení volně dostupná Groovy konzole. Rozvoj Groovy jede raketovou rychlostí, řekl bych že věci, které tam jsou, v Javě neuvidíme ještě léta a kdo ví jestli vůbec (closures, tuples, properties, statická inicializace properties v rámci konstruktoru). Jediné co nám brání dosud ve firmě nasadit Groovy, je zajištění aby groovy instance vytvořené Springem a naše vlastní instance nad společným Groovy classoaderem sdílely podobné rekompilační chování jako nabízí GroovyScriptingEngine. Groovy je ale rozhodně směr, kterým se chceme ubírat.
Archívy
Všechny články z měsíce Duben, 2009
Dnešní den přenesl (alespoň v mém případě) řadu roztrpčení. K tomu se ale dostanu až o pár odstavců později. Dnešní keynote se nesla v duchu Lean software development – a to především ve smyslu, jak se co nejrychleji dostat z fáze vývoje do fáze produkčního běhu. Přednáška byla poměrně zajímavá – Adrian Colyer ukazoval prostřednictvím STS živý deployment Spring / Grails aplikací (byť) triviálních přímo na Google App Engine nebo na Amazon EC2. Ačkoliv pro to zatím nemám usecase, praktická ukázka byla skutečně impresivní. Adrian je především skvělý přednášející, který je schopný živě reagovat na odezvu publika a vkládat skutečně zajímavé oživující prvky, které udrží dobrou náladu a pozornost posluchačů (jako třeba bílý tučnák, kterého v průběhu přednášky trestal za jakoukoliv chybu, která se mu ukázkách povedla). Kéž bych uměl své přednášky udělat tak zajímavé jako on
. To co jsem si z přednášky odnesl je to, že nasadit Spring aplikaci na GAE nebo EC2 nemusí být zase tak těžké, jak by se na první pohled mohlo zdát.
Dnes začala v Amsterodamu konference Spring One zaměřená na technologie okolo Spring Frameworku (Spring samotný, Spring MVC, Spring WebFlow, Grails, Spring Batch, Spring Security, Spring tc a dm Server atd.). Konference se koná v hotelu Krasnopolski v úplném centru Amsterodamu. My jsme přijeli o den dříve, abychom si město stihli v klidu prohlédnout a projít si zajímavá místa (Red light district apod.
). Nějaké fotografie si můžete prohlédnout zde. Kromě všudy přítomných coffee shopů mě zarazilo především to, že holanďané si vůbec nepotrpí na soukromí a ve velkých oknech řada domů nemá ani záclony, takže je jim běžně vidět téměř až do postele. Druhá věc, která vás na Amsterodamu zarazí, je neuvěřitelné množství kol – ty jsou tu daleko běžnějším dopravním prostředkem než třeba automobil. Průměrné stáří kol, je ovšem (soudě dle vzhledu) snad 20 let – jelikož jsou tu běžná kola podobná tomu, o kterém se v naší rodině traduje, že je předválečné. Zdá se, že tu holanďané soutěží o ošklivější kolo s největším zámkem, což mě přivádí k myšlence, že se tu musí kola poměrně dost „ztrácet“.
Původně jsem ale chtěl psát především o konferenci a proto se k tomuto tématu zase vrátím…
Dynamic proxies can be very nasty if you don’t know what happening under the cover. Last week I was searching for the memory leak that caused our application to crash. Even though Tomcat had assigned 1GB memory for heap and 0,5GB for PermGenSpace it stood alive for only approximately twelve hours. It’s pretty nasty situation having known that application is only in betatesting with relatively low traffic.
When analyzing generated heap dump I have found, that memory leak was caused by web application classloader, that managed thousands of CgLib dynamically generated classes. I was using Eclipse Memory Analyzer, that’s probably the best tool for memory heap dump analysis I have ever seen. It’s the third time it quickly identified the suspicious classes, by heuristic analysis called Leak suspect.


