Everything in

#videos

I occasionally make YouTube-Videos, mostly about Java - here they are:

Faster LTS and free JDK with Java 17 - Inside Java Newscast #12#video#java‑17
Java 17 comes with more than just new features. A faster LTS cadence and free Oracle JDK make this the best-supported modern release ever.
The State of Project Valhalla with Brian Goetz#video#conversation #project‑valhalla
Conversation with Project Valhalla lead Brian Goetz about Java's original sin, unifying the type system, expanding generics, current work, the project timeline, and more.
Fast and Secure Inter-process Communication on JDK 16 - Inside Java Newscast #11#video#java‑16
JDK 16's socket channel / server-socket channel API can use Unix domain sockets for faster and more secure inter-process communication on the same host - also: JDK 17 final release candidate and Oracle Developer Live
Random Numbers and JDK Flight Recorder - Inside Java Newscast #9#video#java‑16 #java‑17 #random #performance #tools
The new API for random number generation in Java 17 - why it needed to change and how the new API is more usable, extensible, and robust - and how to get started with JDK Flight Recorder, particularly on Java 16.
Incremental Evolution, Pattern Switches vs Visitor Pattern, and Wayland Support - Inside Java Newscast #8#video#java‑17 #project‑panama #modules #pattern‑matching #sealed #patterns
How the six-month release cadence enabled a more incremental evolution of the Java platform and how pattern switches and sealed classes are an alternative to the visitor pattern. Also, maybe Wayland support for Java.
Handling null and Upgrading Past Java 8 - Inside Java Newscast #7#video#migration #optional #switch #project‑valhalla
Dealing with null is never fun, so in this newscast, I explain how to best handle it, what tools can do, and how recent and upcoming language changes help dealing with it. I'll also look at a recent blog post about how Netflix upgraded from Java 8 to 16.
The State of Project Panama with Maurizio Cimadamore#video#conversation #project‑panama
Conversation with Project Panama lead Maurizio Cimadamore about the project's core mission, the split into foreign-memory access and foreign linker APIs, jextract, performance, interaction with Project Valhalla, the timeline, and more.
The State of Project Loom with Ron Pressler#video#conversation #project‑loom
Conversation with Project Loom lead Ron Pressler about the project's core mission, challenges like interaction with debuggers and garbage collectors, the timeline for the next steps, compatibility and more.
Java 17: Features and Development - Inside Java Newscast #6#video#java‑17 #openjdk
Java 17, the next long-term support release, enters feature freeze and the release preparations begin today (June 10th). A good time to take a closer look at the list of JEPs as well as the development process.
Pattern Matching in Switches and Security Manager Deprecation - Inside Java Newscast #5#video#switch #pattern‑matching
JEP 406, which is a candidate for Java 17, introduced pattern matching in switch statements and expressions, introduces guarded patterns, and improves null handling. Then we need to talk about JEP 411's deprecation of the security manager.
5 Secret Java API Tricks and Record Semantics - Inside Java Newscast #4#video#records
Five nifty Java API features that you need to know (and many more in the linked thread) and a quick explanation why Java records are not about reducing boilerplate.
JUnit Pioneer - An Exploratory Mission to Jupiter And Beyond#video#junit‑pioneer
From growing a community on Twitch to strong documentation, from squashing commits to one-click releases - this presentation covers JUnit Pioneer in all detail
Quicker Java and JDK 16 compatibility - Inside Java Newscast #3#video#java‑16 #vector #java‑17
A walk through language features, APIs, and JDK capabilities that make Java quicker to use with less ceremony and more immediate results. Also, a rundown of some of the projects with all tests green on JDK 16.
Java Generics III - Wildcards#video#generics
Second part of a short series on Java Generics - this one explains generics. ? extends Number - that kinda thing.
Java Generics II - Bounded Type Parameters#video#generics
Second part of a short series on Java generics - this one explains bounded type parameters. T extends Number - that kinda thing.
Vector API, Record Serialization, And Java 17 Release Schedule - Inside Java Newscast #2#video#java‑16 #vector #java‑17
Short introduction to the Vector API (incubating in JDK 16) and an update on serializing records. Also, a quick mention of JEP 356 in JDK 17 and the proposed release schedule.
Java 16 Rundown, First Of Java 17 - Inside Java Newscast #1#video#java‑16 #java‑17
Java 16 got released, so I go over most of the additions like records, Stream APIs, Unix Domain Socket support, and much more. Then there's a first glimpse at Java 17.
Patterns, switch, and Valhalla's Primitive Classes - JDK News #2#video#java‑next #openjdk #project‑amber #pattern‑matching #project‑valhalla #primitive‑classes
Project Amber brings new patterns and puts them into switch while Project Valhalla takes off and proposes introducing primitive classes
Java's Quirks and Wrong (?) Defaults with Brian Goetz#video#conversation #migration #optional #serialization
Mutability, nullability, serialization, primitives - Nicolai Parlog discusses with Java language architect Brian Goetz why Java is the way it is.
Pattern Matching Quartet - JDK News #1#video#java‑next #project‑amber #pattern‑matching
A summary of four recent discussions about pattern matching on the Project Amber mailing lists
Java Generics I - The Basics#video#java‑basics #generics
First part of a short series on Java generics - this one explains the basics
Modularity with Oliver Drotbohm#video#architecture #conversation #j_ms
Oliver and I discuss modularity in Java with a focus on the Java module system
How We Upgraded From Java 8 And Why You Can (And Should) Do It Too#video#community #migration
My two minutes of fame during the Oracle Code One 2019 keynote
The Java Module System with Sander Mak#video#conversation #j_ms
At J-Fall 2018 I talked to Sander Mak, modularity expert at Luminis, about the Java module system (J_MS), its adoption, how it compares to OSGi, and more.
Caliz III: Hashing scripts and background compilation#video#performance #tools
Letting Caliz store native images and only create them for a given Java "script" (single source file) if needed
Caliz II: Wrapping Graal AOT#video#performance #tools
Extending Caliz to create native images of Java "scripts" (single source files) with with Graal
Caliz I: Wrapping JVM 11 and learning about Graal AOT#video#performance #tools
First steps toward an acceptable scripting experience with single-source-file execution and Graal native images
Java 12 Experiments (Live Stream)#video#java‑12
In my first live stream ever (yay!), we explored Java 12's API improvements
Utilities, Singletons and Dependency Injection - Effective Java, Items 3-5#video#book‑club #patterns
Mildly surprising (to me), it makes sense to discuss these three patters in one video - so here it goes
Maven 3 / 4 / 5 with Robert Scholte#video#conversation #tools
Maven is one of the cornerstones of the Java ecosystem - here I talk with Robert Scholte, Chairman of the Apache Maven projects
First Contact with Switch Expressions in Java 12#video#java‑12 #switch
With Java 12, switch is no longer just a statement, but becomes an expression. Let's take a look!
Use Builders... Cautiously - Effective Java, Item 2#video#book‑club #patterns
Why and how to avoid the builder pattern and how to make best use of it if you can't
Java 11: A New Dawn - Releases, Oracle JDK vs OpenJDK, and LTS#video#java‑11 #java‑next
Oracle's announcements of the six-month release cadence and new licensing caused quite a ruckus - now that things calmed down, lets discuss where we're headed
Static Factory Methods - Effective Java, Item 1#video#book‑club #patterns
How to use static factory methods to overcome three shortcomings of constructors
Kicking off a series on Effective Java, Third Edition#video#book‑club
Kick-off to
a YouTube series on Effective Java, Third Edition - let's find some angles Josh didn't cover
First contact with var in Java 10#video#java‑10 #var
How to use var, where it works and where it doesn't (and why), and how it might impact readability
Welcome, Java 9!#video#community #java‑9
Java 9 is out today and with other members of the community I'm throwing a welcome party. Get an all around view on the new Java release with various opinions, tips, and great sources!
Impressions of JavaZone 2017#video#community
A few impressions of my stay at JavaZone 2017 to music from
WillRock
Parameterized Tests in JUnit 5#video#junit‑5
At JavaLand 2017, I spent 15 minutes exploring JUnit 5's (then) brand-new parameterized test feature in a NightHacking session
Rewrite, Architecture, Extensions Of JUnit 5#video#community #junit‑5
What were the reasons for the rewrite? How does JUnit 5 compare to JUnit 4? What's so special about the architecture and the extension points?