You are viewing content from a past/completed QCon

Track: Evolving Java

Location: Windsor, 5th flr.

Day of week: Wednesday

The Java is Dead meme continues in 2020, 10 years after it started!  Unsurprisingly enough, the Java ecosystem just keeps evolving, with new innovations that continue to drive large enterprises, cloud infrastructure and has Trillion's of dollars worth of commercial activity run on it each year.  This year at QCon we look at the important innovations in the Java space that will directly impact you in the short term future.  

There has been a number of innovations around running Java in a Cloud Native environment. Quarkus is a leading light here, allowing you to build and deploy native image applications that are Java-compatible. Deploying Java applications efficiently on Docker was a struggle 5 years ago, but now Java is a leader in language support for containers and we look at the latest work to optimize this even further.  The global migration from Java 8 to 11 is finally taking place, and major enterprises are now planning their move, we bring you a field report by one of the world's most exciting digital banks! Looking a little further forward we finally have a working implementation of Records and Sealed Types that you can use to build more efficient data structures. Lastly, for the bold, there's a new Java compiler in town called Graal that some claim has massive performance benefits. But how does Graal really execute code, as compared to Hotspot today, that question is answered in this track before you take the plunge!"

Track Host: Martijn Verburg

Principal Engineering Group Manager (Java) @Microsoft. ex CEO at jClarity (acquired by MSFT) & CxO / start-up mentor

Martijn is the Principal Engineering Group Manager (Java) at Microsoft. ex CEO at jClarity, a Machine Learning for Java/JVM performance analysis company. He is the co-leader of the London Java User Group (LJC), sits on the Java Standards Body (JCP) Executive Committee and leads the global Adopt a JSR and Adopt OpenJDK efforts to enable the community to contribute to Java standards and OpenJDK.

Martijn is the co-author of "The Well-Grounded Java Developer" on Java 7, Polyglot Programming on the JVM and modern software development techniques and is named as a Java Champion for his contribution to the Java ecosystem. He's a popular speaker at major conferences (JavaOne, JFokus, OSCON, Devoxx etc) where he is known for challenging the industry status quo as "the Diabolical Developer".

Track Host: Alex Blewitt

Head of Cloud Infrastructure at Santander

Alex Blewitt has been working with Java since its first release, and has worked on JVM projects at Goldman Sachs and Credit Suisse, where he was the JCP representative until 2016. He co-founded the Docklands.LJC and has spoken about Java and performance at several conferences, and writes for InfoQ about Java and JVM topics.  

Before moving to Santander in 2020 he worked at Apple on Swift, and has authored books in Swift and Eclipse plugin development.  

Alex lives and works in Milton Keynes, and if the weather's nice, goes flying from nearby Sywell.

10:35am - 11:25am

Records and Sealed Types - Coming Soon to a JVM Near You!

OpenJDK's Project Amber has been delivering small improvements for a while now. With the release of Java 14, a group of major new features starts to arrive.

The first is Records - a new syntax for declaring a class that "just holds data" and fills the same role that tuples do in other programming languages. Coming soon are Sealed Types, which fundamentally change Java's model of object oriented programming by providing a middle way between classes that are final and classes that are completely open for extension. These seemingly unrelated ideas are not only powerful in their own right but are actually connected at a deep level. They light the way for further upcoming features, such as Pattern Matching (no, not regular expressions) and much, much more. Our journey will take in other recent changes in the Java language and will show how big ideas in language design sometimes start from surprisingly small implementation details.

Ben Evans, Java Champion, Author of "Java in a Nutshell"

11:50am - 12:40pm

A Year With Java 11 in Production!

At the time of QCon London, Revolut will have been running Java 11 in production for over a year!
As with all JDK upgrades, this didn't happen overnight - let me tell you a little more about our experience. You will hear about our journey, what surprised us, and what we found better than before!

Expect a real life report covering the doubts we had, some pain points (yes…) and gains (YES!), as well as surprises that surprised us. We'll discuss tools, alternative JVM languages, and some 3rd party products, before giving you an insight into the plan for adopting future releases.

We will finish with what “the plan” for adopting future releases is.

Andrzej Grzesik, Platform @RevolutApp

1:40pm - 2:30pm

Java in Containers - Part Deux

Containers are everywhere in modern cloud workloads, but that doesn’t mean everything's roses! Container isolation imposes a de-facto additional complexity layer, i.e. a virtual machine, and running unprivileged containers is not a simple task. How do containers affect the ergonomics of the JVM? What are the options and limitations when it comes to observing JVMs running in containers? ...  

This session will discuss some of the recent evolutions that will address those concerns (rootless containers, Kata containers, cgroupsV2, etc.) and will look in parallel at how OpenJDK is evolving to cope with some of those changes and most importantly, what it all means for Java developers!

David Delabassee, Developer Advocate in the Java Platform Group @Oracle

2:55pm - 3:45pm

Live Coding 12-Factor App

Planning to build microservices? The best practice of building a first-class Cloud Native Microservice is to follow 12-Factor app.

But how do you fulfil the 12-factor app rules, e.g. how do you externalise the configuration, fault tolerance, etc?    

Come to this session to watch the live coding of building 12-factor microservices using MicroProfile programming mode and get them running Open Liberty and Quarkus. Finally, deploy them to Kubernetes and Istio to see how they function!

Emily Jiang, STSM, Liberty Microservice Architect and Advocate @IBM

4:10pm - 5:00pm

How the HotSpot and Graal JVMs execute Java Code

When Java was released in 1995 it was slow, a reputation it has carried for many years… Today Java can give performance that is comparable to C++ and can emit instructions that are more optimal than code which is statically compiled. But how?  

This talk will explore practical examples and the subsystems that are involved in interpreting, compiling and executing a simple Hello World Application. We will dive into JIT compilation and the arrival of the JVM Compiler Interface (JVMCI) to explore how optimisations are applied to boost the performance of our application. We will discuss HotSpot, explore Graal and the JVM ecosystem to discover performance benefits of a platform 25 years in the making.

James Gough, Co-author of Optimizing Java

Last Year's Tracks