25 Hours of Java

On May 23rd 2020, Java turns 25 🥳 and what better way to celebrate its birthday than with a 25-hour live stream? (On Twitch.)

Yes, 25 hours of Java! There will be technical deep dives, interviews, discussions, cake, code, more cake, and even more code! Most importantly, it will be a lot of fun and I hope you join me on that fine Saturday in May.


Sun Microsystems had their headquarter in California and so we'll pin May 23rd to Pacific Daylight Time (PDT):

  • where Java was born: 11 PM (22nd) to 12 PM (23rd) PDT
  • where the clock lives: 0600 (23rd) to 0700 (24th) UTC
  • where I live: 0800 (23rd) to 0900 (24th) CEST

Location: twitch.tv/nipafx


It takes a village to raise a child and it takes plenty of talented people to keep the Java train moving - I'll be talking to a few of them.

Kevlin Henney

Kevlin is an independent consultant, speaker, writer and trainer with interests in patterns, programming, practice and process. He also writes flash fiction!

We'll discuss 97 Things Every Java Programmer Should Know and Java's place in history.

Trisha Gee

Trisha has expertise in Java high performance systems, is passionate about community in tech, and dabbles with Open Source development. She's a leader of the Sevilla JUG, a Java Champion, and as a developer advocate for JetBrains, she gets to share all the interesting things she's constantly discovering.

We can discuss a few more of the 97 things every Java developer should know (Trisha co-edited the book) and then segue into Java career advice. Bring your questions!

Martijn Verburg

Also known as the the Diabolical Developer, Martijn is Principal Software Engineering Group Manager (Java) at Microsoft, ex-CEO of jClarity, co-orgianizer of the London Java Community, and director at AdoptOpenJDK.

We'll talk about Java distributions, AdoptOpenJDK, and how Microsoft contributes to the Java ecosystem.

Brian Goetz

Brian is Java Language Architect at Oracle; creator of lambdas and streams; bringer of var, switch expressions, and records; harbinger of pattern matching, reinvented serialization, and value types.

Under the headline "today's problems come from yesterday's solutions" we'll talk about a few things that annoy Java developers today (who said null?). Also: projects Amber and Valhalla.

Always embed videos

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

Watch on YouTube

Christian Stein

JUnit 5 core committer, Apache Maven developer, OpenJDK Author, and tinkerer with modern Java versions.

Christian will give us a quick intro to his build tool Bach.

Venkat Subramaniam

Venkat is a polyglot programmer, award-winning author, rockstar speaker, instructional professor at the University of Houston, and founder of Agile Developer, Inc.

We'll discuss Java's place in today's software development landscape.

Sharat Chander

Sharat is developer relationship expert at Oracle.

He'll join us on the last hour to chat a bit about Java's community.


Here's what I plan to dissect and discuss with you. I will have slides, repos, and a rough idea where we're going, but the cool thing about a stream is that you're there with me, so you can ask questions, decide what to emphasize, and tell me where to go next. That also means that the timeline may not be strictly adhered to. 😁

6:007:00 UTC

Java 9-14 on StackOverflow

We warm up with 9-14 questions.

7:008:00 UTC

Birthday 🥳 Cake 🎂 Java Q&A

Java's official birthday begins!

8:009:00 UTC

Stream Exception Handling

Let's explore and discuss.

9:0011:00 UTC

Kevlin Henney

We discuss a few of the 97 things Java devs should know. Then we draw from Kevlin's extensive experience in software to learn about Java's place in history.

11:0013:00 UTC

The Java Module System

First a quick ride through the module system basics before we take a closer look at jlink and services.

13:0015:00 UTC

Trisha Gee

What does it take to have a career as a software developer? Which skills do you need and what should you look out for?

15:0017:00 UTC

JUnit 5 Extension

Maybe the coolest aspect of JUnit 5 is its extensibility. I show you theory and practice of writing your own extensions.

17:0018:00 UTC

Java Releases & Distributions

Releases, licenses, support, ...

18:0019:00 UTC

Martijn Verburg

What AdoptOpenJDK can do for us.

19:0020:00 UTC

Amber, Valhalla, Loom, Leyden

What are they about?

20:0022:00 UTC

Brian Goetz

Default mutability/nullability, serialization, primitives, ... appear anachronistic. But are they? Did Java need them to be successful? Brian is here to discuss.

22:0023:30 UTC

Going to Java 9

How to upgrade, what to look forward to (besides modules) - in theory and practice.

23:300:00 UTC

Christian Stein

A guide to Bach.java.

0:002:00 UTC

Going to Java 10 and Java 11

Java 10 and 11 come with a bunch of API and JVM improvements that we can take a look at. Once again, we will apply some of those in practice.

2:004:00 UTC

Venkat Subramaniam

Venkat is a true polyglot programmer and will help us place Java into the larger software development landscape.

4:005:00 UTC

Fun with var

Intersection types? Traits? Yes!

5:006:00 UTC

Going to Java 12 to Java 14

Cool features in theory and practice.

6:007:00 UTC

Sharat Chander

Hanging out, discussing community.