Cay Horstmann
horstmann.com
Cay Horstmann
@horstmann.com
Nothing to see here...keep moving! Specifically, to Mastodon: https://foojay.social/@cayhorstmann
Jeff Martin and myself will speak at Java One (March 17-19, Redwood Shores, CA, USA) on Java and WebAssembly. Here is a $50 discount code if you register by Feb. 9: J12026SSM

https://horstmann.com/pr... Speaker_Cay H.png
February 7, 2026 at 6:30 AM
On Tuesday, February 10, Maurice Naftalin and myself will speak at Voxxed Days CERN on "Streams—Below the Surface". https://horstmann.com/pr...
February 5, 2026 at 6:43 PM
On the plane to Stockholm where I will give two presentations at JFokus (https://jfokus.se/speak..., on Project Valhalla and the Java Class File API.
February 1, 2026 at 9:43 AM
This Thursday I will speak at the Dublin JUG and the JChampionsConf, on Java pattern matching + a bonus talk for in-person attendees.

In-person signup: ti.to/dublin-java-.... Start time 18:15 UTC

To follow online, sign up here: www.eventbrite.com/e/jchampions.... Start time 20:00 UTC
261 - Effective Pattern Matching in Java plus Bonus Talk
We're back to get 2026 ignited not with a flame, but an explosion. January sees not one, not two, but three Java Champions visiting Dublin as we again join forces with the JChampions conference to bri...
ti.to
January 19, 2026 at 7:24 PM
The excellent free JChampions Conference 2026 (https://jchampionsconf.co) is happening online Thur 1/22/2026, Fri 1/23/2026, Mon 1/26/2026, and Tues 1/27/2026.
Get free tickets from Eventbrite: https://www.eventbrite.c...
January 5, 2026 at 1:26 AM
Here is my "Java Advent" article on nice and naughty cases of pattern matching, with nicer formatting than WordPress can muster, and the ability to leave comments without logging into WordPress: https://horstmann.com/un...
December 10, 2025 at 6:04 PM
I participate in Advent of Code (https://adventofcode.co) to learn, and today I learned plenty. My naïve brute force solution for Day 8 required 3 minutes. I re-learned the union-find algorithm (never touched it since grad school, 45 years ago), and am down to < 1 sec. https://github.com/cayho...
December 8, 2025 at 8:53 PM
My article "Nice and Naughty Cases of Pattern Matching" has been published in the JVM Advent Calendar: https://www.javaadvent.c...
December 8, 2025 at 8:56 AM
This year’s JVM Programming Advent Calendar is open for business at https://www.javaadvent.c... Every day, a new post awaits. I enjoy this eclectic overview of what is new in the Java ecosystem.
December 1, 2025 at 5:53 PM
There is always more to learn about Unicode. Today I found out about the aptly named WTF encodings: https://wtf-8.codeberg.page Java strings are actually WTF-16, not UTF-16. For example, the Java string "WTF\uD800" is not valid UTF-16.
November 30, 2025 at 5:47 PM
Help--my LocalDate isn’t flattened! Just before my Valhalla talk at JFall, I found out that the early access build can flatten LocalDate arrays, but the latest version from Github cannot. Why? Serialization, of course. Read the gory details at https://horstmann.com/un...
November 10, 2025 at 6:52 AM
On Thursday November 13, I will speak in Berlin on "Virtual Threads—A Second Look". https://www.meetup.com/j...
November 9, 2025 at 8:42 AM
As I am updating my slides, another shoutout to https://imagetodrawio.com I upload a hand-drawn diagram and get something that I can clean up in draw.io Final result: https://horstmann.com/pr... That is how AI should be. Human in the loop. Tweakable result without endless prompting.
November 2, 2025 at 6:23 PM
I'll be speaking at JFall on project Valhalla on November 6. https://jfall.nl
November 2, 2025 at 6:22 PM
Core Java 14th edition, updated for Java 25, is now available in print or ebook at https://www.informit.com... and https://www.informit.com...
October 8, 2025 at 5:19 AM
The latest Maven exec plugin can execute "instance main methods": https://horstmann.com/un...
September 30, 2025 at 7:23 PM
I will give two talks at BED-Con 2025 (https://bed-con.org/202) on October 7 and 8 in Berlin.
September 28, 2025 at 5:30 AM
After more than a year of trying off and on, I finally managed to fix my Emacs/LSP/Java setup. Now I can happily edit my Java scripts in Emacs instead of VS Code. Details at https://horstmann.com/un...
September 24, 2025 at 6:02 PM
My take on Java 25: https://horstmann.com/un...
September 20, 2025 at 7:25 PM
Following a suggestion from Stuart Marks (https://stuartmarks.wor..., I add JavaDoc as a search engine to my browser.

I just updated the search URL to https://docs.oracle.com/...
September 17, 2025 at 6:26 AM
$ java -version
openjdk version "25" 2025-09-16 LTS

Remarkably, the four numbers are perfect squares: 5², 45², 3², and 4².
September 17, 2025 at 5:56 AM
SKDMAN! has the first Java 25 JDK that is not an “early access” release:

$ sdk install java 25-zulu

Done installing!

Do you want java 25-zulu to be set as default? (Y/n): y
September 17, 2025 at 5:52 AM
Next Tuesday, I'll be talking about benchmarking Project Valhalla at the Java Forum Nord in Hannover https://javaforumnord.de...
September 14, 2025 at 5:41 AM
I returned from the amazing JavaZone conference in Oslo. My talks at https://2025.javazone.no... and https://2025.javazone.no... Videos of many other great presentations already available at https://2025.javazone.no...
September 13, 2025 at 6:04 AM
For anyone with an oreilly.com subscription: "Early release" versions of the 14th edition of Core Java are at learning.oreilly.com/library/view... and learning.oreilly.com/library/view...
O'Reilly Media - Technology and Business Training
Build the skills your teams need. Give them the O'Reilly learning platform and equip them with the resources that drive business outcomes.
oreilly.com
August 29, 2025 at 5:28 PM