Localization Changes in Java 9

We use java.util.Locale to format dates, numbers, currency, and more. But in some circumstances, these formatted strings have changed with JDK 9, leading to a multitude of subtle (and sometimes not so subtle) bugs.

Functional Programming With Java: Exception Handling

In my previous articles about functional programming, I’ve shown how to incorporate a more functional style into our Java code. But I’ve omitted a crucial topic: how to deal with exceptions.

How Fluent Interfaces Can Lead to More Meaningful Code

Martin Fowler, who coined the term Fluent Interfaces 15 years ago, famously wrote in his book Refactoring: Improving the Design of Existing Code: “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”

Formatting Strings With Java

We all know String.format(...). But there are other options. Java has multiple ways of formatting, aligning, padding, and justifying Strings.

Utility Classes of the JDK: Dealing With I/O

Java NIO (“non-blocking I/O”) is a great feature set for dealing with I/O operations. Introduced by Java 1.4, it was further improved in Java 7 (JSR 203).