Core Java
-

Clojure’s Software Transactional Memory vs. Locks and CAS in Java
A third way to coordinate shared state: optimistic, language-level, and modeled directly on database transactions. Most Java developers reach for…
Read More » -

Java Scoped Values: A Practical Example
ScopedValue provides a way to share contextual data with methods without passing that data explicitly through every method parameter. A…
Read More » -

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 »

