JavaZone is not only known for their awesome and sometimes cheeky promotional videos, top content, food and location but also a great party. This year was no exception, the two day conference held at the Oslo Spektrum in Norway consisted of never ending food options, top notch speakers and an awesome party, which this year was held in the expo hall. This was the first year ZeroTurnaround sponsored the event and we are glad we did! At our booth we gave away our popular JRebel t-shirts, attendees tested their geek knowledge by taking our Geek Test and had great conversations about Java. We put together a quick video to capture part of the atmosphere of the event.
The Overflow Room
At any conference, it’s the talks that are a crucial part in the conference quality and when picking which talk you want to see, there’s often conflict in your mind leading to a decision based on compromise. JavaZone brilliantly created an overflow area, which consisted of hundreds of seats and a large screen displaying slides from all seven rooms simultaneously. Now, instead of the JavaZone folks expecting you to consume all the input like a Johnny 5 style robot, each seat came fitted with an audio device allowing attendees to tune into one particular session. Not getting on with the session? Never mind, tune into your next favorite and switch audio feeds! Amazing!
Not unusually, ZeroTurnaround had numerous talks at a conference so here’s an overview of what we presented:
JRebel Under the Covers by Simon Maple
JRebel is the flagship product of ZeroTurnaround, the developer productivity tool that allows you to reload code changes instantly without waiting for the JVM to restart or redeploy your web-application. The technology behind the scenes is extremely interesting. While it at times can seem magical when you just use it, Simon goes over the essential pieces of the JRebel architecture, explaining how it creates a mapping between the loaded classes and the class files on the disk, showed the basic architecture of JRebel plugins, that make it possible to reload framework related code (say add a new Spring bean into your app without reloading the full Spring context). I always love sessions that talk about real products from the technical code point of view, how do they deal with challenges, what design decisions were taken and why, etc. Simon also wrote a few posts based on this for RebelLabs, including Why HotSwap wasn’t good enough in 2001…and still isn’t today, My class loader hates me and wants to slow me down and If you think Java development is already slow, just wait till you add a Java Web Framework.
Flavors of Concurrency in Java by Oleg Shelajev
In this session, Oleg discusses the different models for concurrency support in Java, starting with managing bare threads manually, to using executors, ForkJoinPool and a CompletableFuture based design. The session was largely inspired by the posts about concurrency, ForkJoinPool and JavaMemoryModel.
The more advanced frameworks like actor based model, fibers and software transactional memory didn’t get as much time as they deserve, so I hope people get inspired to read the best book about concurrency that I know of: The Art of Multiprocessor Programming.
Unlocking the Magic of Monads in Java 8 by Oleg Shelajev
Oh, poor monads, again we were talking about them. In this session Oleg doesn’t dive into the algebraic data types and the need to contain side-effects that many tutorials on monads tend to do. Instead he devises a type for chaining asynchronous execution of functions and shows it is monadic. Naturally, one session is not enough to make people comfortable with functional programming or the concept of monads, but a glimpse at the usefulness of using monadic constructs will make you recognize them in the future. There’s an older post, where Oleg goes through a similar process as during the session to devise a monadic Future type. Check it out!
JourneyZone is a special treat for all conference speaker junkies. It’s now a tradition at JavaZone to invite speakers on an adventure once the conference is over. This year was the 6th time JourneyZone has happened and this time it took awesome to a whole new level. Oleg was very lucky to be picked to attend JourneyZone and here is his account of the trip:
JourneyZone is all about networking and getting away from your everyday routine, clearing your mind and looking at the problems we try to solve from a different perspective.
While an adventure trip sounds fantastic on its own, remember, it is a rare, professionally organized event, involving adrenaline rushes and engaging with the absolute best speakers in the world on every topic a Java conference has to offer.
This year the plan was to go to Svalbard Island. Yeah, that’s right, the one near the North Pole! The JavaZone team totally nailed it again. The trip was perfect and while we didn’t get a chance to see a wild polar bear, I’m extremely thankful for the opportunity to participate in such an unique event. From swimming in the Arctic Ocean to discussing the finest details of evil Java code, or what docker containers are the best.
Here are a couple of photos from that lonely and cold place which Oleg visited.