Oracle Code 2018

Last week was the Oracle Code 2018 in Berlin, this year it was in Funkhaus Berlin, which is a really cool location. It’s an old industrial building with a lot of space. After the security check at the entrance, everybody checked in and got a t-shirt and a cup.

The greetings where done by the Java User Group Berlin, followed by the first keynote by Adam Bien about “From Java EE 8, over Jakarta EE and Microprofile to Serverless Java”. He talked about the new Jakarta EE project at the Eclipse Foundation. And he liked the fact, that according to several curriculum vitae there are already several Jakarta EE experts, although there isn’t any running code yet. The next topic was Microprofile and its annotations for metering calls and automatic fallbacks. The last thing was the FN project and its combination with dependency injection and a JavaEE stack. For more stuff from Adam Bien, have a look at his podcast airhacks.fm.

The second keynote was “Building a Chatbot Front-end for Blockchain Transactions and Serverless Functions APIs„ by James Allerton-Austin. He showed a use-case with selling cars via a chatbot. My problem with this presentation is, I don’t think its a viable use-case and it sounded a lot like an advertising show for the Oracle Cloud. But OK its a free Oracle conference.

After a short coffee break, where I could try my new coffee cup, I listen to Stefan Johansson with “JVM in JDK 10”. He showed the Application Class-Data Sharing feature of the JDK 10. Here is one slide by him:

1. Find out classes to share:

$ java -Xshare:off -XX:+UseAppCDS -XX:DumpLoadedClassList=app.lst -cp lib.jar App

2. Create the shared archive file:

$ java -Xshare:dump -XX:+UseAppCDS -XX:ShareClassListFile=app.lst -XX:ShareArchiveFile=app.jsa -cp lib.jar

3. Use the shared archive file:

$ java -Xshare:auto -XX:+UseAppCDS -XX:ShareArchiveFile=app.jsa -cp lib.jar App

One of the other topics was the improved ahead of time compiler, which now supports the invokedynamic bytecode and works on windows now.

$ jaotc –output libApp.so App.class
$ java -XX:AOTLibrary=./libApp.so App

The next session was “Functional Reactive with Core Java“ by Sven Ruppert, a tutorial on combining a function and a function to a function, while you using the builder pattern. It was a really good presentation about combining functional programming and object oriented style in java.

After a very long queue at lunch, I listen to “API by Design”. But because of the room I did not understand much and what I heard was not that convincing. Also the next session about “Microservice Applications – Security, Logging, Tracing„ was hard to understand. This time it was loud enough, but there as a lot reverb in that room.

The next session was really good again: “Graal: How to Use the New JVM JIT Compiler in Real Life“ by Christian Thalinger. He compared the old C2 with the new Graal compiler, and yes Graal won. It has a little more overhead at the beginning, but wins with runtimes longer than 30 secs, which is almost every Java program I know.

Oh by the way, there was an IoT Cloud Brewed Beer you could try in the lobby. I tried the IPA and it was really good. I don’t know why I remembered this while writing about the talk from Christian Thalinger.

The last talk was “Machine Learning Applied – Contextual Chatbots Coding, Oracle JET and Tensorflow“ by Andrejus Baranovskis. It was the same topic like the second talk from James Allerton-Austin with less advertisement, but not really much more information.

Surprisingly there was no closing session, what ended the conference by everybody leaving at a different time, when the individual talks ended. Felt strange. All in all a good conference, with less people than I expected, especially for a free conference. The talks were half technical and half advertisement, and that’s OK.

Leave a Reply