Valtech Labs

Snapshot från JFokus 2012

I år var första året jag deltog på JFokus som moderator, dvs jag presenterade presentatörerna. Förutom att en av talarna inte hade med sig egen dator och min inte ville visa någon bild på projektorn till en början så gick allt bra.

Först ut på morgonen var Greg Luck från Terracotta, grundaren av Ehcache-projektet. Med den bakgrunden var det ganska givet att han skulle prata om just caching. Alla som någon jobb arbetat med en större webbapp vet hur viktigt det är, men av någon anledning är det inte lika vanligt i enterpriseapplikationer. Greg pratade om den nya cachestandarden för Java javax.cache som defineras i JSR-107. Som man märker på det låga numret har den här JSR-en funnits ganska länge. Under ett par år var den helt död men nu är man 90% klar. Greg är co-lead för projektet. Tanken är att ha ett generiskt interface och sen kunna byta ut cacheimplementationen under. Basfunktionaliteten måste vara med men det finns en del saker som är optional, tex distribuerade cacher. JSR-107 kommer vara en del av nästa Java EE standard men går även att använda med Java SE. Utvecklingen sker på github vilket gör det lätta att se hur arbetet framskrider och att delta.

Greg Luck

Dagen fortsatte med Angelika Langer, oberoende konsult med lång erfarenhet av Java och C++. Hon pratade om lambdas i Java 8 och även del andra nya funktioner. Det är verkligen på tiden att Java får riktiga lambdas/closures, alla som programmerat Ruby eller JavaScript (eller något annat språk, det är väl i princip bara Java som inte har closuses än) vet hur kraftfullt det kan vara. Angelika pratade också om en utökning av interfaces som gör det möjligt att ha en default-implementation. Alltså interfaces med implementation, vilket innebär att vi nu har mixins i Java. Eftersom interface inte kan innehålla data så är det inte samma sak som multipelt arv. För mig som mest varit i Ruby-land de senaste åren gjorde det genast Java mycket mer intressant. Tyvärr är releasedatum av Java 8 någon gång 2013.

Angelika Langer

Sist ut innan lunch var Java Rock Star Cliff Click från Azul Systems en JVM-leverantör. Han pratade om benchmarks av JVM. Först handlade det om micro-benchmark och saker man behöver se upp för som kan ge felaktiga resultat. T ex hotspot-kompilatorn och inlineade metoder eller GC. Sedan pratade han om macro-benchmarks, dvs de standard benchmarks som används av industrin. Där visade på hur de oftast mäter orimliga saker och hur lätt det är att gamea reglerna för att få de resultat man vill ha som leverantör. Presentationen var helt klart underhållande, men inte så releveant för det jag arbetar med dagligen. Eftersom 80-90% av användarens väntetid sker på frontend kan man ju också fråga sig hur viktigt det är med optimering på serversidan när det gäller webbappar. Visst hjälper benchmarks dig att kunna skala backend, men det är ändå användarnas upplevelse som är det viktigaste.