Renaud Humbert-Labeaumaz

Renaud Humbert-Labeaumaz (15)

What is a Volatile Variable in Java?

The volatile keyword is one of the less known and less understood keyword of the Java language. The goal of this article is to explain what it is and when to use it. In order to understand the value of volatile, one must first understand…

Continue reading...

Intersection Types in Java

This blog post aims to explain how we can use intersection types in Java when we expect an object that implements different interfaces. The Interface Segregation Principle (ISP) stipulates that interfaces should contain the least amount of methods as possible. In other terms, a client…

Continue reading...

Controlling the Time in Java

Time is a tricky thing, it’s always changing. Having such moving parts into the codebase can be very annoying when testing, for instance. In this article, we will see how to control the time in Java. Let’s take a simple example of a pizza delivery…

Continue reading...

Keep Calm and Use Git Reflog

Git is a very powerful tool but it takes a fair amount of time to masterize it. It can be particuarly easy to break or lose things when you amend some commits, resolve conflicts or force push your changes. In this blog post, I will…

Continue reading...

Trivia Kata: A Refactoring Story

Refactoring a legacy code can be a tricky business. More often than not, the code is not tested, unclear and contains some bugs. If not planned, the time required to refactor will eat all the time allocated to the feature. The feature will then be…

Continue reading...