Cay Horstmann
@horstmann.com
Nothing to see here...keep moving! Specifically, to Mastodon: https://foojay.social/@cayhorstmann
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
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...
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
On Thursday November 13, I will speak in Berlin on "Virtual Threads—A Second Look". https://www.meetup.com/j...
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
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.
I'll be speaking at JFall on project Valhalla on November 6. https://jfall.nl
November 2, 2025 at 6:22 PM
I'll be speaking at JFall on project Valhalla on November 6. https://jfall.nl
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
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...
The latest Maven exec plugin can execute "instance main methods": https://horstmann.com/un...
September 30, 2025 at 7:23 PM
The latest Maven exec plugin can execute "instance main methods": https://horstmann.com/un...
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
I will give two talks at BED-Con 2025 (https://bed-con.org/202) on October 7 and 8 in Berlin.
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
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...
My take on Java 25: https://horstmann.com/un...
September 20, 2025 at 7:25 PM
My take on Java 25: https://horstmann.com/un...
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/...
I just updated the search URL to https://docs.oracle.com/...
September 17, 2025 at 6:26 AM
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/...
I just updated the search URL to https://docs.oracle.com/...
$ java -version
openjdk version "25" 2025-09-16 LTS
Remarkably, the four numbers are perfect squares: 5², 45², 3², and 4².
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
$ java -version
openjdk version "25" 2025-09-16 LTS
Remarkably, the four numbers are perfect squares: 5², 45², 3², and 4².
openjdk version "25" 2025-09-16 LTS
Remarkably, the four numbers are perfect squares: 5², 45², 3², and 4².
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
$ 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
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
$ sdk install java 25-zulu
Done installing!
Do you want java 25-zulu to be set as default? (Y/n): y
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
Next Tuesday, I'll be talking about benchmarking Project Valhalla at the Java Forum Nord in Hannover https://javaforumnord.de...
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
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...
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
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...
Two years ago, fed up with Google, I switched to Kagi search. Their secret sauce: Downrank pages filled with ads. Works for me. Just got a jubilant announcement--they reached 50K paying customers (blog.kagi.com/50k) Really??? 50K paying customers and their results beat Google. There is hope.
Celebrating 50K users with Kagi free search portal, Kagi for libraries, and more... | Kagi Blog
Just last week, we celebrated three years since Kagi was launched.
blog.kagi.com
June 17, 2025 at 6:38 PM
Two years ago, fed up with Google, I switched to Kagi search. Their secret sauce: Downrank pages filled with ads. Works for me. Just got a jubilant announcement--they reached 50K paying customers (blog.kagi.com/50k) Really??? 50K paying customers and their results beat Google. There is hope.
Puzzler of the week: Which of these are valid Java variable declarations?
[ ] short euro€;
[ ] double world世界;
[ ] long wavy﹏;
[ ] char bell\u0007;
To vote, go to foojay.social/@cayhorstman...
[ ] short euro€;
[ ] double world世界;
[ ] long wavy﹏;
[ ] char bell\u0007;
To vote, go to foojay.social/@cayhorstman...
Cay Horstmann (@[email protected])
Puzzler of the week: Which of these are valid Java variable declarations?
[ ] short euro€;
[ ] double world世界;
[ ] long wavy﹏;
[ ] char bell\u0007;
foojay.social
June 9, 2025 at 2:45 PM
Puzzler of the week: Which of these are valid Java variable declarations?
[ ] short euro€;
[ ] double world世界;
[ ] long wavy﹏;
[ ] char bell\u0007;
To vote, go to foojay.social/@cayhorstman...
[ ] short euro€;
[ ] double world世界;
[ ] long wavy﹏;
[ ] char bell\u0007;
To vote, go to foojay.social/@cayhorstman...
I'll be speaking at the OpenValue Meetup in Düsseldorf May 22 18:00. "When to Stream, Collect, and Gather". www.meetup.com/openvalue-du....
When to Stream, Collect, and Gather & Demystifying Dependency Injection, Thu, May 22, 2025, 6:00 PM | Meetup
**Dear Java Community,**
**After the meetup is before the meetup!**
We’re excited to invite you to the next **OpenValue Meetup** on **May 22nd** in Düsseldorf!
Once agai
www.meetup.com
May 21, 2025 at 11:48 AM
I'll be speaking at the OpenValue Meetup in Düsseldorf May 22 18:00. "When to Stream, Collect, and Gather". www.meetup.com/openvalue-du....
Finally recovering from JCON in Cologne. Great conference! I gave two well-attended talks.
horstmann.com/presentation...
horstmann.com/presentation...
Keynote surprise: I got a "Java Community Lifetime Achievement" award. For having survived 30 years of Java. Looking forward to many more years...
horstmann.com/presentation...
horstmann.com/presentation...
Keynote surprise: I got a "Java Community Lifetime Achievement" award. For having survived 30 years of Java. Looking forward to many more years...
May 17, 2025 at 2:06 PM
Finally recovering from JCON in Cologne. Great conference! I gave two well-attended talks.
horstmann.com/presentation...
horstmann.com/presentation...
Keynote surprise: I got a "Java Community Lifetime Achievement" award. For having survived 30 years of Java. Looking forward to many more years...
horstmann.com/presentation...
horstmann.com/presentation...
Keynote surprise: I got a "Java Community Lifetime Achievement" award. For having survived 30 years of Java. Looking forward to many more years...
On April 24, I'll talk about Benchmarking Project Valhalla at the JUG Darmstadt: www.jug-da.de/2025/04/Benc...
Benchmarking Valhalla (Java Value Types) | Java User Group Darmstadt
Abstract Project Valhalla introduces value types into the Java language and virtual machine. Value types can be more efficient since they do not need pointer indirection and heap allocation. Moreover,...
www.jug-da.de
April 22, 2025 at 2:46 PM
On April 24, I'll talk about Benchmarking Project Valhalla at the JUG Darmstadt: www.jug-da.de/2025/04/Benc...
Trip report from Java One...but not the usual kind www.travelblog.org/north-americ...
April 8, 2025 at 9:55 AM
Trip report from Java One...but not the usual kind www.travelblog.org/north-americ...
For anyone teaching Java: I posted a quick summary of new Java features that help beginners. horstmann.com/unblog/2025-...
February 22, 2025 at 5:11 PM
For anyone teaching Java: I posted a quick summary of new Java features that help beginners. horstmann.com/unblog/2025-...
Hands-on experience with DeepSeek: horstmann.com/unblog/2025-...
Cay Horstmann’s Unblog
horstmann.com
January 27, 2025 at 7:43 PM
Hands-on experience with DeepSeek: horstmann.com/unblog/2025-...
I'll be talking at the free online jChampionsConference today at 16:00 UTC on "Java for Small Coding Tasks". Register at jchampionsconf.com
January 23, 2025 at 6:02 AM
I'll be talking at the free online jChampionsConference today at 16:00 UTC on "Java for Small Coding Tasks". Register at jchampionsconf.com
In this final article on my experience with the Advent of Code competition, I describe how I attacked grid and graph problems, and summarize how Java has worked out for me. horstmann.com/unblog/2024-...
Cay Horstmann’s Unblog
horstmann.com
December 27, 2024 at 9:28 AM
In this final article on my experience with the Advent of Code competition, I describe how I attacked grid and graph problems, and summarize how Java has worked out for me. horstmann.com/unblog/2024-...