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) at 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".

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

How the HotSpot and Graal JVMs execute Java Code?

Details to follow.

James Gough, Co-author of Optimizing Java

2:55pm - 3:45pm

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

4:10pm - 5:00pm

Quarkus

There’s a radical advance in Java development waiting for you, right here. Why is everyone excited about Quarkus? Does it really produce sub-atomic applications? Is it an exaggeration to say it boots at “supersonic” speed?

If you wonder how these figures are even possible, this is the session for you: we’ll see it in action, empower you to repeat the tests yourself, and explain how it works.

Costs of cloud infrastructure, Continuous Delivery, Kubernetes, reactive scalability, microservices… all are pushing for a radical redesign of our favourite platforms, of our deployment models. But is it possible to keep using the battle-tested libraries we have experience with? To keep programming with the APIs we’re familiar with? To keep benefitting from the JVM? What about the standards we all invested in?

Come join us and learn how Quarkus can make this all happen, either by leveraging high density deployments via GraalVM native images, or by targeting the traditional JVM: in both cases we’ll push the efficiency bar to the extreme.

Sanne Grinovero, Senior Principal Software Engineer @RedHat

Tracks

  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Leaving the Ivory Tower: Modern CS Research in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Driving Full Cycle Engineering Teams at Every Level

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications