Java
-

Understanding Java Virtual Threads with Example
Virtual Threads are one of the most important improvements to Java concurrency in recent years. They make it possible to…
Read More » -

Checked Exceptions: The Language Design Debate Java Never Resolved
Why Java stands almost alone among mainstream languages in forcing you to declare or catch certain exceptions, the criticism that…
Read More » -

Java’s Sealed Classes Meet the Visitor Pattern
Replacing a classic GoF pattern with pattern matching: a before and after refactor of a Visitor hierarchy, collapsed into a…
Read More » -

How to Switch Between AI Models Automatically
AI applications do not always need the same language model for every request. A simple factual question may only require…
Read More » -

Intelligent Document Processing with Apache Camel, Docling & LangChain4j
Enterprise applications often need to process large numbers of documents such as PDFs, invoices, manuals, reports, and policy documents. Extracting…
Read More » -

LLM Tool Call Reasoning with Embabel AI
Large language models become significantly more useful when they can interact with external tools instead of only generating text. A…
Read More » -

Haskell’s Monads Outside Academia: A Plain-Language Guide
Ask ten developers what a monad is, and you will likely get ten different answers, most of them nervous. The…
Read More » -

G1’s Own Throughput Fix: JEP 522 and the Quiet Death of “G1 Trades Throughput for Latency”
For a decade and a half, “G1 gives up some throughput for lower pause times” has been treated as a…
Read More »




