Presentation: Migrating Speedment to Java 9

Track: Java - Propelling the Ecosystem Forward

Location: Broadway Ballroom South Center, 6th fl.

Duration: 5:25pm - 6:15pm

Day of week: Monday

Level: Intermediate - Advanced

Persona: Architect, Developer, Developer, JVM


Migrating a Java 8 application to Java 9 is not just an exercise in API management, but also a learning experience in areas such as memory management and package dependencies.

This talk will share insights from our experience migrating Speedment to Java 9 with a focus on 2 key areas. First, Speedment is an ORM with a Java 8 Streams API and one of its prominent features is acceleration based on in-memory off-heap caching of data. Because it relies on the efficient handling of Strings and sun.misc. Unsafe memory access, the migration entailed several interesting performance considerations. Second, the key feature of Java 9, Project Jigsaw, fits well with the already fundamentally modular design of Speedment. Having an API based on OSGi modularization helps when taking the step to Java 9 but there are several pitfalls to be avoided.

This talk will cover examples such as test frameworks failing and dependencies needing to be reworked to accommodate the stricter Java 9 modularization.

Speaker: Dan Lawesson

CSO @Speedment

Dan has > 20 years of Java experience and a PhD in Computer Science specializing in AI. He has had a number of popular articles published on dzone, javacodegeeks etc. as well as on his own blog and research publications. Before joining the Speedment Team he has been building IoT systems in the automotive industry and also been working as a Java examiner at the Linkoping University. He is an experienced speaker at events like ISICS (Information Systems for Industrial Control and Supervision) workshops, JUGs and meetups.

Find Dan Lawesson at


Monday, 26 June

Tuesday, 27 June

Wednesday, 28 June