Core Java
-

Goroutines vs. Virtual Threads: Two Routes to Lightweight Concurrency, a Decade Apart
Go built its language around message passing from day one. Java spent thirty years on shared memory, then had to…
Read More » -

Java Compact Source Files: No Class, No Static Main
Java has traditionally required a class and a static main method even for the smallest programs. Java 25 changes this…
Read More » -

How to Fix Jackson LocalDate JSON Parse Errors
Jackson is one of the most commonly used libraries for converting JSON data into Java objects and vice versa. When…
Read More » -

DB-Scheduler: A Reliable Scheduler for Java
Scheduling background jobs is a common requirement in Java applications. Applications often need to send notifications, generate reports, clean up…
Read More » -

Multiple Dispatch: Julia’s Different Answer to the Expression Problem
Sealed interfaces close the type list. Julia opens it, and the operation list, at once. A recent piece on this…
Read More » -

Understanding Java AtomicInteger with an Example
When multiple threads access and modify the same variable, unexpected results can occur due to race conditions. A simple int…
Read More » -

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 »

