Speaker Details

Ben Evans

New Relic

Ben Evans is an author, speaker, architect and educator. He is currently Principal Engineer and JVM Architect at New Relic. Previously, he was a co-founder at jClarity, a performance tooling company and before that was Chief Architect for Listed Derivatives at Deutsche Bank. Ben served for 6 years on the Java Community Process Executive Committee, helping define standards for the Java ecosystem. He is a Java Champion, 3-time JavaOne Rockstar Speaker and the Java / JVM Track Lead at InfoQ. Ben is author of “The Well-Grounded Java Developer”, “Java: The Legend”, "Optimizing Java" and the new editions of “Java in a Nutshell”. Ben is a regular speaker and educator on topics such as the Java platform, systems architecture, security, performance and concurrency at conferences all over the world.

Implementing a Simple JVM in Rust

The JVM is a truly remarkable piece of software, but it is still just a computer program, not magic! In this talk, I will explain how we might start to implement a JVM from scratch, using the Rust programming language. Fundamental concepts such as the bytecode interpreter, classfile parsing and memory management will be explained using an open-source implementation as reference.

We will build up a working interpreter capable of executing simple methods (initially represented as byte arrays).

From there, we add features and build towards a more complete implementation that can actually execute simple Java classes. The talk is largely live coding in the IDE, where I will work with an implementation of the JVM written in Rust.

The implementation is designed to be easy to understand even for developers who are new to language implementation.

No real Rust experience is required - as I will provide a primer on the language in the first half of the talk.

Language Implementors

How We Migrated New Relic to Java 11

A real-world experience report of migrating a medium-sized production plant and development organization to a Java 11-first approach.

This talk will describe how we took a Java 8-only plant and development environment and refreshed it to be Java 11 by default.

We will cover:

  • Overview of the New Relic environment and plant architecture
  • Build tools and in-house developed plugins and tooling
  • Migration to OpenJDK
  • Repo cleanup
  • Hunting regressions
  • Problems and stumbling blocks we encountered
  • Library upgrades and complex interdependencies
  •  Improvements and how we measured them
  • Our future roadmap

Migration Path
Java 11

Talks by tracksTalks by session typesList of SpeakersSchedule