As we said earlier, if you don’t find want you’re looking for in a particular session, it’s perfectly okay to take a pause in the schedule. You’d almost forget there’s much more to do in the buildings dedicated to JavaOne here in San Francisco, so I’m going to talk a little bit about that for today.
Network & Relaxation
Even while the most used JavaOne venues – such as the Hilton San Francisco Union Square, Hotel Nikko and Parc 55 Wyndham – are on adjacent blocks, there’s a lot of ground to cover as a visitor. Over 400 sessions are spread over the various buildings on the various floors, so Ted and I often find ourselves walking from an upper floor in the Parc 55, using an elevator to ground level, using backdoor to exit the building, crossing a junction with masses of other attendees (easily recognizable by the Oracle keycords), entering the target hotel through any entrance closest by and finding the correct stairs or elevator to correct room for the session. There’s lots of ground to cover and often in the evening you’ll end up with sore feet!
So if you’re tired of walking, what can you do?
If you aren’t one you can get yourself certified at the Java Certification and Training Desk, check out the latest training demo’s and resources and get your questions answered by an expert. We ourselves are Sun (now: Oracle) Certified Java Developers but we were still eligible to drop by and pick up a conference badge ribbon to show off..ehm, to show others we’ve got the skills.
The Grand Ballroom of the Hilton San Francisco Union Square has been transformed into the Java Exhibition Hall: you’ll find the Oracle Technology Network (OTN) Lounge, the Java DEMOgrounds and over dozens of sponsor- and exhibitor stands. On the Java DEMOgrounds you can get hands-on demo’s of technologies spanning the Java ecosystem, such as Java EE, Java SE or Java ME or talk to one of the Java “innovation leaders”. In the OTN Lounge you’re able to checkout the program schedule for details about expert drop-ins talks on Java user groups and aforementioned platforms. Showing the post of day 1 – which included a link to a certain Oracle url – got us a fabulous OTN T-shirt.
If you’ve clothed yourself you can drop by a Buzz House in Taylor Street Café or in the Cyril Magnin Foyer of the Parc 55 Wyndham for some hot or cold drinks. Beer is served daily after 2.00 pm, courtesy of Qualcomm. Finally, if you’ve loaded up there, what’s better to steer a pinball machine in the adjacent Game Zone.
In the Java Exhibition Hall it’s very hard not be pulled into one of the dozens of booths: if you so much as stand still in front of one to tie your shoelaces, you’re immediately in the tractor beam of the folks manning the booth. “Hi there! You’ve ever heard of [our company name]?“
Ted spoke both to AppDynamics (“Application Performance Management”) and New Relic (“Real Time Application Monitoring”), both competitors in the application monitoring area. AppDynamics didn’t seem to have heard of New Relic when asked, but New Relic clearly said AppDynamics was their greatest competitor 🙂 Basically their products both have the same promise: monitor and find (and maybe present solutions) to “problems” in your running application using Java agents. One of them is said to offer more run-time data – the other not so much but instead is able to drill down more precisely to whatever processing or memory problem found. New Relic is only PaaS, AppDynamics can be installed on premises – because it was designed initially for that purpose. One takes 2% overhead (CPU processing, heap etc.), the other 1-5% depending on the size of the monitored application. Asking the technical guys of whatever product you’re interested in all these kind of questions is quite revealing, specially if you’re letting them know you’ve just talked to their competitor. Ted’s been talking to Coverity about their new Coverity Scan Service, Waratek which can virtualize multiple JVMs on one JVM, Crafter and their Web Experience Management (CMS based on Afresco) solution, JFrog about Artifactory and its advantages over Nexus and more. Some company or product slogans are so vaguely general these days, such as “Enterprise continuous delivery solution to automate and accelerate application development and delivery processes while managing supporting resources”, you’ll have to go in there and ask them what they’re actually doing…and then get the T-shirt.
Basically, if you do or show the right things as an attendee at JavaOne you can get yourself clothes for the entire week! The only thing still missing is some sexy underwear… maybe a tip for next year. We’ll be bringing an empty suitcase! 😉
But there were also sessions again…
First up this morning was a very interesting and entertaining session about: Lambda expressions. This is the next big thing to come to Java since… well… a long time. But we still need to wait for it a bit since it will be introduced in Java 8. Lambda expressions are (as the speaker called it) very cute little autonomous functions. They have a few advantages: for one… they’re lazy (just like me ;-). Lazy in the sense of the result is evaluated at the end.
An example: we have a List of Integers called numbers containing [1,2,3,4,5,6,7,8,9,10]. Lets say we want to double the first even number greater then three.
numbers .stream() .filter(i -> i > 3) .filter(i -> i % 2 == 0) .map(i -> i * 2) .findFirst().
This will iterate over every item but only the first 4 items and the result of 4 is returned.
And running it in parallel is as easy as retrieving the parallelStream and work on that. I’m really looking forward to using this… for some code examples check here.
Next up was a session about migrating to the new Garbage Garbage Collector (G1 GC). It gave some insightful information on how to approach the tuning of this new garbage collector. The speakers had tuned the GC so it was running better then the current parallel gc or cms gc. Since I missed the talk earlier this week about the inner workings of the G1 GC I had no idea what the differences were between those GC’s. I shall have to look up those details when they will be available online. Since jdk 7u40 the G1 GC seems to work quite stable – so I was told.
Since we were running out of time to blog yesterday, we forgot to mention a new framework that I never heard of before but was quit interesting: Errai. This next generation framework uses HTML5 for templates, GWT and CDI under the hood so it’s all Java. By default they use a 2-way binding between the model and the view, and communication to the server is possible by an event bus or REST. They incorporate HTML5 local storage in such a way that you can use JPA to query that storage and very easily synchronize it with the server again. Even mobile features are supported by using Phonegap… the only thing that I noticed in the presentation that still could use some work is the limitation of one model per container. But they were open for changes that would allow more then one model 🙂
Now we’re off to Treasure Island in the middle of the San Francisco Bay for Maroon 5 and The Black Keys.