A year with jdk11 in production.
summary
Revolut runs OpenJDK 11 everywhere after a ~2 months to migrate effort that compiles and runs the whole toolchain on Java 11; build updates include moving Gradle to 5/6, updating libraries (jOOQ 3.11+, Mockito 2.20.1) and using Testcontainers plus Flyway for reliable tests. G1 becomes default GC, shows G1 uses more RSS and more aggressive memory use so teams lower Xmx/Xms and get faster OOM fail‑fast. Surprises: higher time precision, a DateTimeFormatter locale NPE, and a javac generics bug; Java Flight Recorder and Mission Control work on OpenJDK.
AI-written summary · about
chapters (35)
- 0:00Introduction
- 0:35About Andrzej
- 2:40Disclaimer
- 3:50Who is on Java
- 4:50About Revolut
- 6:05About Spark Java
- 7:35Why upgrade
- 12:20Our culture
- 14:35Why not Oracle JDK
- 15:40How Java is released
- 16:45What you require
- 18:25Tools
- 19:50Maven
- 21:45Gradle Gradle
- 22:35Mockito
- 23:55Flyway
- 24:45Java EE
- 25:50Languages
- 26:50Postgres
- 27:45Dependencies
- 28:55Bouncy Castle
- 29:15Unified Login
- 29:40Command Line Inspector
- 30:10VM Options
- 31:10Precision
- 31:35Time
- 32:15Nanotime
- 33:10My recommendation
- 33:55Formatter bug
- 34:45No idea compiler
- 37:15JDK 11 G1
- 40:05Oracle Cloud
- 41:30VAR
- 43:05Next steps
- 46:10Questions
related talks
46mGoing Java::Current in Production
42mMoving to Java 17 in production
50mJava. Migrating to 11 in real app
55mWhy You Should Migrate to Java 11 Right Now.
50mHow We Migrated New Relic to Java 11
47mJava. Migrating to 11 in real app
51mAll The Way To 11: The Future of Java
51m9, 10, Java! Java current and next
