Looking for this?

Then you're in the right place: CodeFX.org is now nipafx.dev! It's the same content (spicy Java) by the same guy (me, Nicolai - nice to meet you!), but with a new look and without CodeFX as a middleman. From now on, it's just You. Me. Java.

Got it!

(JavaScript is off, so no cookies - tell me again next time)

Got it!

(and give me a cookie to remember - privacy policy)

Got it!

(and tell me again next time I'm forwarded)

By the way, it looks like you didn't get forwarded to the page you were looking for. If that's indeed the case, it would be great if you could let me know, so I can fix it.

Looking for this?

Then you're in the right place: CodeFX.org is now nipafx.dev! It's the same content (spicy Java) by the same guy (me, Nicolai - nice to meet you!), but with a new look and without CodeFX as a middleman. From now on, it's just You. Me. Java.

Got it!

(JavaScript is off, so no cookies - tell me again next time)

Got it!

(and give me a cookie to remember - privacy policy)

Got it!

(and tell me again next time I'm forwarded)

By the way, it looks like you didn't get forwarded to the page you were looking for. If that's indeed the case, it would be great if you could let me know, so I can fix it.

Java 9 Resources - Talks, Articles, Repos, Blogs, Books And Courses

Java 9 draws and the number of posts and talks about it skyrocketed in the recent months. Here's a list of recommended talks and articles but also further resources where new, high-quality content will pop up.

You can tell that Java 9 draws near because the number of posts and talks about it skyrocketed in the recent months. I want to recommend existing talks and articles where you can learn about Java 9 but also further resources, where new, high-quality content will pop up.

Talks

If you're the kind of person who likes to watch talks, there are quite a few I can recommend. For a great high-level overview and conceptual intro to the module system, watch Java 9: Make Way for Modules! (Mark Reinhold; 40 min). Going deeper into the module system, the JDK team has an entire series of talks:

As a follow-up, there was an Ask the Architect session at JFokus where Mark Reinhold answers all kinds of questions, among them some about Java 9 (transitive dependencies, version conflicts, state of JavaFX, ahead-of-time compilation; 23 min).

With Java 9 coming closer, people started presenting on non-modularity features that Java 9 has to offer. Simon Ritter races through 55 new features in JDK 9 (50 min) and this is me talking a little bit about the module system before going into the new language features, a few new APIs (collection factories, reactive streams aka Flow API, stack-walking, multi-release JARs) and performance (50 min). If you want to dive deeper, there is a talk by Aleksey Shipilëv on compact strings and indified string concatenation, which I highly recommend (60 min). Monica Beckwith explains about G1 but be warned, you better have your GC expertise down before giving this a try (55 min).

There are also a number of great talks that are much more practical. To learn about how Maven deals with with Java 9, watch Robert Scholte talk about Unicode encoding, version strings, cross compilation, multi-release JARS, and then of course Jigsaw with its impact on how Maven works but also what it has to offer (50 min). Don't miss live-coding queen Trisha Gee working on a Java 9 project with IntelliJ, where she demonstrates various features of both the JVM and the IDE (30 min). If you're interested to see what a migration to Java 9 modules might look like, watch Rabea Gransberger live-refactor a small demo project (15 min). Of course there is no way to talk about live-coding without mentioning Venkat Subramaniam, who shows off modules and JShell in a mammoth 150 minute live session.

For shorter bits there are a couple of interviews the Voxxed folks recorded:

Repositories

Of course people started writing code and there are a few interesting repositories that demonstrate Java 9 features:

Articles

There are countless articles about Java 9, so there is simply no way to do everyone justice. Here's my try of listing the more important ones.

Overviews:

New features:

Under the hood:

JVM features:

For a longer list of posts, check out Baeldung's Java 9 site.

I want to end whit list with a teaser: One particular interesting part about Java 9 modularity is whether build tools will generate module declarations. Next Monday Robert Scholte, chairman of the Apache Maven project and principal developer of Maven's Java 9 compatibility and features, will tell us whether Maven can do that for you. Spoiler: It doesn't look good.

Blogs

There are a few blogs and sites that regularly publish about Java 9. Most of them have the decency to tag those posts, so you don't have to go searching.

Company blogs/sites:

Personal blogs:

Books and Courses

If you want to go really deep and prepare yourself for actually using the new stuff, you might want to go for a book or online course. These are the ones I know of:

And because this is my blog I will take the freedom to make sure you don't overlook that the last book on that list is by me, which of course makes it the best one. 😜 Early access is open, so you can get it now!