Presentation: Real World Java 9



1:40pm - 2:30pm

Day of week:



Key Takeaways

  • Gain early insight on what porting a Java 8 project to Java 9.
  • Learn the relationship between Java Stream and Reactive Streams.
  • Understand how modularity in Java now underpins everything in JDK9.


The feature we always hear about whenever Java 9 is in the news is Jigsaw (or modularity). But this doesn't scratch the same developer itch that Java 8's lambdas and streams did, and we're left with a vague sensation that the next version might not be that interesting.

Java 9 actually has a lot of great additions and changes to make development a bit nicer. These features can't be lumped under an umbrella term like Java 8's lambdas and streams, the changes are scattered throughout the APIs and language features that we regularly use.

In this presentation, Trisha shows via live coding:

  • How we can use the new Flow API to utilise Reactive Programming
  • How the improvements to the Streams API make it easier to control real-time streaming data
  • How to the Collections convenience methods simplify code

Along the way, we'll bump into other Java 9 features, including some of the additions to interfaces and changes to deprecation. We’ll see that once you start using Java 9, you can't go back to before.


What are your focused in your work/research today?

My job has two sides: to help developers "level up", and to help IntelliJ IDEA evolve with developers and technology trends. That means I'm constantly researching what "most" developers are really doing in their day job, and researching which things from the bleeding edge are likely to make it into the mainstream. My research has led me to believe that: Microservices are here to stay; Reactive Programming and Event Sourcing are patterns that can help us work at scale; Java (both the platform and the language) continues to evolve to meet the needs of developers and the businesses they code for.

What is goal for your talk?

We've heard so much about Jigsaw (modularity for Java), it is *the* feature for Java 9, and Java 9 has been delayed more than once to make sure Jigsaw gets out there. But the language developers are working really hard on other things as well: some invisible changes that will benefit all of us; some nice new features that will make our lives easier; and some changes that have incorporated styles from other languages. I want those who come to my talk to see that Java 9 has more benefits than they might realise. But I also want to be realistic about some of the challenges facing those adopting various Java 9 features, so I'm showing a case study of a project migration.

What's the difference between Java 8 Streams and Reactive Streams?

Great question! They look very similar, from a code-point of view, but they behave differently and are meant for different things. Come to my talk to hear more!

What is the level an target persona for your talk?

Experienced Java developer who codes regularly. Includes technical team leads and architects who want to understand the impact of this latest version.

Speaker: Trisha Gee

Java Champion, Engineer and Evangelist

Trisha has developed Java applications for a range of industries, including finance, manufacturing, technology, open source and non-profit, for companies of all sizes. She has expertise in Java high performance systems, and is passionate about enabling developer productivity. Trisha blogs regularly on subjects that she thinks developers and other humans should care about, she’s a leader of the Sevilla Java User Group, a key member of the London Java Community and a Java Champion - she believes we shouldn't all have to make the same mistakes again and again.

Find Trisha Gee at

Similar Talks

Head of Software Engineering @LMAX Exchange
Java/Groovy Developer and Java Champion
Groovy Enthusiast, Teacher of Computer Science
Founder & CTO @Lightbend / Creator of Akka
Principal Engineer @FT (Financial Times)


Conference for Professional Software Developers