When parallelism beats concurrency

I'm aware that for many of you these two concepts probably mean the same or maybe you'd struggle to explain the differences between them; however, they're actually two very different concepts and this is quite important to understand the way in which we process data nowadays. In both cases we try to solve a problem... Continue Reading →

Mastering the new functional Java

Introduction In my last article, we talked mostly about how Java Streams work and we also had an introduction to Functional Programming in the article "A new Java functional style"; now it's time to take these learnings and see how we can use Streams and take all their benefits. We'll go through a set of... Continue Reading →

Understanding Java Streams

After having had a deep introduction to functional programming in my last article "A new Java functional style", I think it's now time to look at Java Streams more in depth and understand how they work internally. This can be something very important when working with Streams if our performance is going to be impacted.... Continue Reading →

A new Java functional style

It's been a while since JDK 8 was released, bringing plenty of new features to the Java language; among them the most expected feature was ,with no room for doubt, the introduction of Lambda expressions.The release of Lambdas supposed one of the biggest quality jumps in the Java language in its history; mainly due to... Continue Reading →

TDD explained: Practical example

If you've heard about the acronym TDD but you're not sure what it means, or even if you know what TDD is but you don't know how to put in into practice; then this article is for you. Let's explain first what TDD is. TDD stands for Test Driven Development, and as its name indicates... Continue Reading →

Please stop the Java Optional mess!

In many of the projects I've worked during the recent years I've found quite hard to find developers using Java Optionals in the right way, so I thought it'd be good to show what in my opinion it should be the right approach. Background First of all, let's clarify what the original purpose was for... Continue Reading →

Java JIT compiler explained – Part 1

As Java developers most of us ignore the importance of having a complete understanding on how the machine where we run our applications works. This machine, in the case of Java or Kotlin developers, is the JVM. The JVM (Java Virtual Machine) as most of you will know, uses JIT (Just-In-Time) compiler to optimise our... Continue Reading →

A new Java concurrency model

Things have changed considerably in the last few years in terms of how we write code in concurrent models. In the past we always had a tendency to share state and use complex concurrency mechanisms to synchronise the threads to allow them a fair use of the resources in our application, those were the times when... Continue Reading →

Up ↑

Take a look at our recommended books!